import type { Promisable } from '@ariestools/sdk';
import type { z } from 'zod';
import type { RpcSchemaMap } from '../types/index.js';
/** TransportFactory type. */
export type TransportFactory = (schemas: RpcSchemaMap) => Promisable<RpcTransport<RpcSchemaMap>>;
/** RpcTransport interface. */
export interface RpcTransport<TSchemas extends RpcSchemaMap> {
    sendRequest<TMethod extends keyof TSchemas>(method: TMethod, params?: z.input<TSchemas[TMethod]['params']['to']>): Promise<z.output<TSchemas[TMethod]['result']['from']>>;
}
//# sourceMappingURL=RpcTransport.d.ts.map