UNPKG

adnbn

Version:

Addon Bone - Cross-browser web extension framework with shared code base

12 lines (9 loc) 857 B
import { MessageDictionary, MessageProvider, MessageType, MessageData, MessageResponse, MessageTargetHandler, MessageMapHandler, MessageGeneralHandler, MessageBody } from '../../types/message.js'; declare abstract class AbstractMessage<T extends MessageDictionary, TOptions> implements MessageProvider<T, TOptions> { abstract send<K extends MessageType<T>>(type: K, data: MessageData<T, K>, options?: TOptions): Promise<MessageResponse<T, K>>; abstract watch<K extends MessageType<T>>(type: K, handler: MessageTargetHandler<T, K>): () => void; abstract watch(map: MessageMapHandler<T>): () => void; abstract watch<K extends MessageType<T>>(general: MessageGeneralHandler<T, K>): () => void; protected buildMessage<K extends MessageType<T>>(type: K, data: MessageData<T, K>): MessageBody<T, K>; } export { AbstractMessage as default };