import { BasicIPCHandler } from "../ipc/BrowserIPC"; export interface MethodProxyInvokeData { method_name: string; arguments: any[]; promise_id: string; } export interface MethodProxyResultData { promise_id: string; result: any; success: boolean; } export interface MethodProxyCallback { promise: Promise; promise_id: string; resolve: (object: any) => any; reject: (object: any) => any; } export declare type MethodProxyConnectParameters = { channel_id: string; client_id: string; }; export declare abstract class MethodProxy { readonly ipc_handler: BasicIPCHandler; private _ipc_channel; private _ipc_parameters; private readonly _local; private readonly _slave; private _connected; private _proxied_methods; private _proxied_callbacks; protected constructor(ipc_handler: BasicIPCHandler, connect_params?: MethodProxyConnectParameters); protected setup(): void; protected finalize(): void; protected register_method(method: (...args: any[]) => Promise | string): void; private _handle_message; private _handle_finalize; private _handle_remote_callback; private _send_result; private _handle_invoke; private _handle_result; generate_connect_parameters(): MethodProxyConnectParameters; is_slave(): boolean; is_master(): boolean; protected abstract on_connected(): any; protected abstract on_disconnected(): any; }