import type { Logger } from '@ariestools/sdk';
import type * as z from 'zod/mini';
import type { RpcSchemaMap } from '../../types/index.js';
import type { RpcTransport } from '../RpcTransport.js';
/** PostMessageRpcTransport implementation. */
export declare class PostMessageRpcTransport<T extends RpcSchemaMap> implements RpcTransport<T> {
    private readonly _destination?;
    private readonly _logger?;
    private readonly _schemas;
    private readonly _sessionId;
    constructor(defaultDestination: string, schemas: T, sessionId: string, logger?: Logger);
    protected get destination(): string | undefined;
    protected get logger(): Logger | undefined;
    protected get schemas(): T;
    protected get sessionId(): string | undefined;
    sendRequest<TMethod extends keyof T>(method: TMethod, params?: z.input<T[TMethod]['params']['to']>): Promise<z.output<T[TMethod]['result']['from']>>;
    private callRpc;
}
//# sourceMappingURL=PostMessageRpcTransport.d.ts.map