import { ExtractSuccessResponseMessage, InternalEmitterTransactions, SuccessResponseMessage, TransactionsHandlers, UnknownRequestMessage, UnknownResponseMessage, UnknownTransaction } from "./types.js"; import { ChannelNetwork, ChannelNetworkOptions, PostRequestOptions } from "./ChannelNetwork.js"; import { AllChannelReceiverOptions } from "./ChannelReceiver.js"; //#region src/channel/ChannelEmitter.d.ts type ChannelEmitterOptions = { connectTimeout: number; }; type AllChannelEmitterOptions = ChannelEmitterOptions & ChannelNetworkOptions; declare abstract class ChannelEmitter = Record, TOptions extends Record = Record, TReceiverOptions extends Record = Record> extends ChannelNetwork { private _target; private _channel; protected get channel(): MessageChannel; protected set channel(channel: MessageChannel | null); private _receiverReady; private _receiverReadyCallback; private _connected; get connected(): boolean; constructor(target: HTMLIFrameElement, requestHandlers: TransactionsHandlers, options: Partial & TOptions); /** * Initiates connection to receiver * * @param receiverOptions - Options to configure the receiver with * @param newOrigin - Indicates to the emitter that we're connecting to a new origin * @returns Success connect message */ connect(receiverOptions?: InternalEmitterTransactions["connect"]["request"]["data"], newOrigin?: boolean): Promise; /** Destroys current connection to receiver if any */ disconnect(): void; /** Handles public messages */ private _onPublicMessage; protected postFormattedRequest(type: TRequest["type"], data?: TRequest["data"], options?: PostRequestOptions): Promise>; } //#endregion export { AllChannelEmitterOptions, ChannelEmitter }; //# sourceMappingURL=ChannelEmitter.d.ts.map