import type IDriver from '../driver/i-driver'; import type * as IRPC from '../base/iapi'; import type { CallOptions } from '../base/options'; export * from '../base/iapi'; export interface IResponseStream { on: ((event: 'data', fn: (item: T) => void) => this) & ((event: 'end', fn: () => void) => this) & ((event: 'status', fn: (status: any) => void) => this) & ((event: 'error', fn: (err: Error) => void) => this); } export declare class KVClient implements IRPC.IKVClient { private readonly client; constructor(client: IDriver); range(req: IRPC.IRangeRequest, options?: CallOptions): Promise; put(req: IRPC.IPutRequest, options?: CallOptions): Promise; deleteRange(req: IRPC.IDeleteRangeRequest, options?: CallOptions): Promise; txn(req: IRPC.ITxnRequest, options?: CallOptions): Promise; } export declare class WatchClient implements IRPC.IWatchClient { private readonly client; constructor(client: IDriver); watch(options?: CallOptions): Promise>; } export declare class LeaseClient implements IRPC.ILeaseClient { private readonly client; constructor(client: IDriver); leaseGrant(req: IRPC.ILeaseGrantRequest, options?: CallOptions): Promise; leaseRevoke(req: IRPC.ILeaseRevokeRequest, options?: CallOptions): Promise; leaseKeepAlive(options?: CallOptions): Promise>; leaseTimeToLive(req: IRPC.ILeaseTimeToLiveRequest, options?: CallOptions): Promise; leaseLeases(options?: CallOptions): Promise; } export declare const Services: { KV: typeof KVClient; Watch: typeof WatchClient; Lease: typeof LeaseClient; };