export declare type GrpcMetadata = Record; export declare type GrpcConfig = { host: string; isInsecure: boolean; }; export declare type RemoveListener = () => void; export declare type DataCallback = (data: Uint8Array) => void; export declare type ErrorCallback = (reason: any) => void; export declare type CompleteCallback = () => void; export declare type ServerOutputEvent = 'data' | 'error' | 'complete'; export declare type ServerOutputEventCallback = T extends 'data' ? DataCallback : T extends 'complete' ? CompleteCallback : T extends 'error' ? ErrorCallback : never; export interface GrpcServerOutputStream { on(event: T, callback: ServerOutputEventCallback): RemoveListener; } export declare type CompletedGrpcCall = { readonly method: string; readonly requestHeaders: GrpcMetadata; readonly headers?: GrpcMetadata; readonly responses?: GrpcServerOutputStream; readonly status?: number; readonly trailers?: GrpcMetadata; readonly onSendMessage?: (data: Uint8Array) => Promise; readonly onFinishSendMessage?: () => Promise; }; export declare type GrpcMethodType = 'unary' | 'serverStreaming' | 'clientStreaming' | 'bidiStreaming';