import { MessageProxyConfig, IFrameProxyControl, ProxyType, ProxyState } from './message.proxy.api'; import { ChannelName, EventBus, EventBusEnabled } from '../bus.api'; /** * Implementation of ProxyControl interface. */ export declare class ProxyControlImpl implements IFrameProxyControl, EventBusEnabled { private bus; private config; private readonly proxyControlChannel; readonly proxyId: string; private devMode; /** * Handle inbound postMessage events. */ private postMessageEventHandlerBinding; /** * Track is proxy is operating. * @type {boolean} */ private registered; /** * Definition of the target origin(s) to be acceptable, for security purposes. */ private targetOrigin; /** * Target all frames? The proxy will broadcast to everyone online. Defaults to true * @type {boolean} */ private targetAllFramesValue; /** * Target specific frames only. The proxy will only broadcast to the defined frames */ private targetedFrames; /** * Only authorized channels will be rebroadcast and handled, prevents unwanted payloads reaching private * internal channels, not intended to be exposed. */ private authorizedChannels; private monitorChannel; private monitorSubscription; private knownBusInstances; /** * Type of proxy operating. */ private proxyType; private listening; private parentOriginValue; /** * Default proxy type is parent. * @param bus bus instance * @param config config object */ constructor(bus: EventBus, config: MessageProxyConfig); listen(): void; private registerChildBusWithParent; private informParentChildBusIsListening; private informParentChildBusStoppedListening; private listenForInboundMessageEvents; private relayMessagesToChildren; private relayMessagesToParent; private sendMessageToParent; private sendControlToParent; private sendMessageToChildFrames; private parentEventHandler; private validateChannel; private proxyMessage; listeningAs(): ProxyType; stopListening(): void; targetAllFrames(allFrames: boolean): void; isTargetingAllFrames(): boolean; addAllowedTargetOrigin(origin: string): void; addTargetedFrame(frameId: string): void; addAuthorizedChannel(channel: ChannelName): void; removeAllowedTargetOrigin(origin: string): void; removeAuthorizedChannel(channel: ChannelName): void; removeTargetedFrame(frameId: string): void; getAuthorizedChannels(): ChannelName[]; getAllowedOrigins(): string[]; getTargetedFrames(): string[]; isListening(): boolean; getParentOrigin(): string; setParentOrigin(origin: string): void; getKnownBusInstances(): Map; inDevMode(): boolean; getName(): string; setDevMode(): void; }