import type { Promisable } from '@ariestools/sdk';
import type { z } from 'zod';
import type { RpcSchemaMap } from '../types/index.js';
/** Creates an RPC transport for a request/response schema map. */
export type TransportFactory = (schemas: RpcSchemaMap) => Promisable<RpcTransport<RpcSchemaMap>>;
/** Schema-aware request transport used by generated JSON-RPC provider clients. */
export interface RpcTransport<TSchemas extends RpcSchemaMap> {
    /** Validates and sends an RPC request, then parses the method's response schema. */
    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