UNPKG

beaverjs

Version:

An abstraction around WebExtension messaging

22 lines (21 loc) 1.13 kB
/// <reference types="firefox-webext-browser" /> import { InternalMessageData, StructuredCloneData } from './types'; import { BaseEventHandler } from './BaseEventHandler'; import { Destination } from './destination'; import _QueryQueryInfo = browser.tabs._QueryQueryInfo; import MessageSender = browser.runtime.MessageSender; export declare class BackgroundEventHandler<EventMap extends Record<string, StructuredCloneData>> extends BaseEventHandler<EventMap, InternalMessageData, [ Destination | undefined ], MessageSender> { private query; constructor(query?: _QueryQueryInfo); emitContent<K extends keyof EventMap>(key: K, data: EventMap[K]): void; emitContext<K extends keyof EventMap>(key: K, data: EventMap[K]): void; protected sendEvent(serialized: InternalMessageData, destination?: Destination): void; protected serialize<K extends keyof EventMap>(type: K, data: EventMap[K]): InternalMessageData; protected deserialize<K extends keyof EventMap>(serialized: InternalMessageData): { type: K; data: EventMap[K]; }; protected setup(): void; }