/** @packageDocumentation
 * @module IpcSocket
 */
/** @internal */
export declare const rpcOverIpcStrings: {
    readonly channelName: "itwinjs-core/rpc-over-ipc";
};
/** @internal */
export interface InterceptedRpcRequest {
    definition: {
        interfaceName: string;
        interfaceVersion: string;
    };
    operation: string;
    parameters: any[];
    context: {
        [index: string]: string;
    };
}
/** @internal */
export declare abstract class IpcSession {
    private static _active?;
    static get active(): IpcSession | undefined;
    static start(session: IpcSession): void;
    static stop(): void;
    abstract handleRpc(info: InterceptedRpcRequest): Promise<any>;
}
//# sourceMappingURL=IpcSession.d.ts.map