import * as grpc from '@grpc/grpc-js'; import { Observable } from 'rxjs'; import { Metadata } from './metadata'; /** Reactive signature for client methods with unary request and response types. */ export declare type ReactiveNodeClientUnaryMethod = (request: RequestType, metadata?: Metadata | grpc.Metadata, options?: Partial) => Promise & { call: grpc.ClientUnaryCall; }; /** Reactive signature for client methods with streaming request and unary response types. */ export declare type ReactiveNodeClientRequestStreamMethod = (request: Observable, metadata?: Metadata | grpc.Metadata, options?: Partial) => Promise & { call: grpc.ClientWritableStream; }; /** Reactive signature for client methods with unary request and streaming response types. */ export declare type ReactiveNodeClientResponseStreamMethod = (request: RequestType, metadata?: Metadata | grpc.Metadata, options?: Partial) => Observable & { call: grpc.ClientReadableStream; }; /** Reactive signature for client methods with streaming request and response types. */ export declare type ReactiveNodeClientBidirectionalStreamMethod = (request: Observable, metadata?: Metadata | grpc.Metadata, options?: Partial) => Observable & { call: grpc.ClientDuplexStream; }; /** Reactive signature for all client methods. */ export declare type ReactiveNodeClientMethod = ReactiveNodeClientUnaryMethod | ReactiveNodeClientRequestStreamMethod | ReactiveNodeClientResponseStreamMethod | ReactiveNodeClientBidirectionalStreamMethod;