/// import { ClientDuplexStream, ClientReadableStream, ClientUnaryCall, ClientWritableStream, ServiceError, SurfaceCall } from './call'; import { CallCredentials } from './call-credentials'; import { Deadline } from './call-stream'; import { Channel } from './channel'; import { ChannelCredentials } from './channel-credentials'; import { ChannelOptions } from './channel-options'; import { Metadata } from './metadata'; import { ClientMethodDefinition } from './make-client'; import { Interceptor, InterceptorProvider } from './client-interceptors'; import { ServerUnaryCall, ServerReadableStream, ServerWritableStream, ServerDuplexStream } from './server-call'; declare const CHANNEL_SYMBOL: unique symbol; declare const INTERCEPTOR_SYMBOL: unique symbol; declare const INTERCEPTOR_PROVIDER_SYMBOL: unique symbol; declare const CALL_INVOCATION_TRANSFORMER_SYMBOL: unique symbol; export interface UnaryCallback { (err: ServiceError | null, value?: ResponseType): void; } export interface CallOptions { deadline?: Deadline; host?: string; parent?: ServerUnaryCall | ServerReadableStream | ServerWritableStream | ServerDuplexStream; propagate_flags?: number; credentials?: CallCredentials; interceptors?: Interceptor[]; interceptor_providers?: InterceptorProvider[]; } export interface CallProperties { argument?: RequestType; metadata: Metadata; call: SurfaceCall; channel: Channel; methodDefinition: ClientMethodDefinition; callOptions: CallOptions; callback?: UnaryCallback; } export interface CallInvocationTransformer { (callProperties: CallProperties): CallProperties; } export declare type ClientOptions = Partial & { channelOverride?: Channel; channelFactoryOverride?: (address: string, credentials: ChannelCredentials, options: ClientOptions) => Channel; interceptors?: Interceptor[]; interceptor_providers?: InterceptorProvider[]; callInvocationTransformer?: CallInvocationTransformer; }; /** * A generic gRPC client. Primarily useful as a base class for all generated * clients. */ export declare class Client { private readonly [CHANNEL_SYMBOL]; private readonly [INTERCEPTOR_SYMBOL]; private readonly [INTERCEPTOR_PROVIDER_SYMBOL]; private readonly [CALL_INVOCATION_TRANSFORMER_SYMBOL]?; constructor(address: string, credentials: ChannelCredentials, options?: ClientOptions); close(): void; getChannel(): Channel; waitForReady(deadline: Deadline, callback: (error?: Error) => void): void; private checkOptionalUnaryResponseArguments; makeUnaryRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, metadata: Metadata, options: CallOptions, callback: UnaryCallback): ClientUnaryCall; makeUnaryRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, metadata: Metadata, callback: UnaryCallback): ClientUnaryCall; makeUnaryRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, options: CallOptions, callback: UnaryCallback): ClientUnaryCall; makeUnaryRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, callback: UnaryCallback): ClientUnaryCall; makeClientStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, metadata: Metadata, options: CallOptions, callback: UnaryCallback): ClientWritableStream; makeClientStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, metadata: Metadata, callback: UnaryCallback): ClientWritableStream; makeClientStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, options: CallOptions, callback: UnaryCallback): ClientWritableStream; makeClientStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, callback: UnaryCallback): ClientWritableStream; private checkMetadataAndOptions; makeServerStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, metadata: Metadata, options?: CallOptions): ClientReadableStream; makeServerStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, options?: CallOptions): ClientReadableStream; makeBidiStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, metadata: Metadata, options?: CallOptions): ClientDuplexStream; makeBidiStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, options?: CallOptions): ClientDuplexStream; } export {};