import { CallContext, ServerMiddlewareCall } from 'nice-grpc';
import { Logger } from 'winston';
export interface WithRequestID {
    rid: string;
}
export declare function tracingMiddleware<Request, Response>(call: ServerMiddlewareCall<Request, Response, WithRequestID>, context: CallContext): AsyncGenerator<Awaited<Response>, void | Awaited<Response>, undefined>;
export declare const loggingMiddleware: (logger: Logger) => <Request, Response>(call: ServerMiddlewareCall<Request, Response>, context: CallContext & WithRequestID) => AsyncGenerator<Awaited<Response>, void | Awaited<Response>, undefined>;
export declare function metaMiddleware<Request, Response>(call: ServerMiddlewareCall<Request, Response>, context: CallContext): AsyncGenerator<any, any, any>;
