import { Client } from '@towns-protocol/rpc-connector/common';
import { Snapshot, StreamService } from '@towns-protocol/proto';
import { type RetryParams } from './rpcInterceptors';
import { UnpackEnvelopeOpts } from './sign';
import { RpcOptions } from './rpcCommon';
import { ParsedMiniblock } from './types';
export interface StreamRpcClientOptions {
    retryParams: RetryParams;
}
export type StreamRpcClient = Client<typeof StreamService> & {
    url: string;
    opts: StreamRpcClientOptions;
};
export declare function makeStreamRpcClient(dest: string, refreshNodeUrl?: () => Promise<string>, opts?: RpcOptions): StreamRpcClient;
export declare function getMaxTimeoutMs(opts: StreamRpcClientOptions): number;
export declare function getMiniblocks(client: StreamRpcClient, streamId: string | Uint8Array, fromInclusive: bigint, toExclusive: bigint, omitSnapshots: boolean, unpackEnvelopeOpts: UnpackEnvelopeOpts | undefined): Promise<{
    miniblocks: ParsedMiniblock[];
    terminus: boolean;
    snapshots?: Record<string, Snapshot>;
}>;
//# sourceMappingURL=makeStreamRpcClient.d.ts.map