31 lines
1.3 KiB
TypeScript
31 lines
1.3 KiB
TypeScript
import { Script } from '../../../protocol/protocol.js';
|
|
import { type LoggerFn } from '../../../utils/log.js';
|
|
import type { EventManager } from '../session/EventManager.js';
|
|
import type { Realm } from './Realm.js';
|
|
/**
|
|
* Used to send messages from realm to BiDi user.
|
|
*/
|
|
export declare class ChannelProxy {
|
|
#private;
|
|
constructor(channel: Script.ChannelProperties, logger?: LoggerFn);
|
|
/**
|
|
* Creates a channel proxy in the given realm, initialises listener and
|
|
* returns a handle to `sendMessage` delegate.
|
|
*/
|
|
init(realm: Realm, eventManager: EventManager): Promise<Script.Handle>;
|
|
/** Gets a ChannelProxy from window and returns its handle. */
|
|
startListenerFromWindow(realm: Realm, eventManager: EventManager): Promise<void>;
|
|
/**
|
|
* String to be evaluated to create a ProxyChannel and put it to window.
|
|
* Returns the delegate `sendMessage`. Used to provide an argument for preload
|
|
* script. Does the following:
|
|
* 1. Creates a ChannelProxy.
|
|
* 2. Puts the ChannelProxy to window['${this.#id}'] or resolves the promise
|
|
* by calling delegate stored in window['${this.#id}'].
|
|
* This is needed because `#getHandleFromWindow` can be called before or
|
|
* after this method.
|
|
* 3. Returns the delegate `sendMessage` of the created ChannelProxy.
|
|
*/
|
|
getEvalInWindowStr(): string;
|
|
}
|