import * as grpc from 'grpc-web'; import { ReactiveWebClientUnaryMethod, ReactiveWebClientResponseStreamMethod } from './client_methods'; declare type Methods = ClassType & Record unknown>; declare type ResponseFromStream = T extends grpc.ClientReadableStream ? G : never; /** * Mapped type that transforms all gRPC method signatures within the gRPC client * into their reactive counterparts. */ export declare type ReactiveWebClient = { [rpc in keyof ClientType]: Parameters[rpc]> extends [infer RequestType, grpc.Metadata | undefined, (err: grpc.Error, response: infer ResponseType) => void] ? ReactiveWebClientUnaryMethod : Parameters[rpc]> extends Partial<[infer RequestType, grpc.Metadata | undefined]> ? ReactiveWebClientResponseStreamMethod[rpc]>>> : unknown; }; /** * Wraps a non-reactive gRPC Web client so that all methods can be called reactively. * @param serviceDefinition The gRPC service definition which the client implements. * @param client The standard non-reactive gRPC client to be wrapped. * @returns A reactive client which uses the regular client. */ export declare function reactifyWebClient(client: ClientType): ReactiveWebClient; export {};