import * as grpc from "grpc"; export declare enum InterceptorType { Unary = 0, ClientStreaming = 1, ServerStreaming = 2, BidiStreaming = 3 } declare type InterceptorFn = (options: grpc.CallOptions, next: Function) => grpc.InterceptingCall; export interface InterceptorChainConfig { type: InterceptorType; interceptorFn: InterceptorFn; } export declare type Interceptor = (methodDefinition: grpc.MethodDefinition) => InterceptorFn; /** * Interceptor chain, helps to chain together multiple interceptors * @param interceptors */ export declare function interceptorChain(interceptors: InterceptorChainConfig[]): Interceptor[]; export {};