import { Characteristics, State } from './ConnectionFactory';
import { GrpcClient, GrpcClientCtor } from './GrpcClient';
import { StatefulLogInterceptor } from './StatefulLogInterceptor';
export declare class GrpcMiddleware {
    blocking: boolean;
    state: State;
    log: StatefulLogInterceptor;
    private grpcClient;
    private characteristics;
    private blockingTimer?;
    constructor({ characteristics, config, log, }: {
        characteristics: Characteristics;
        config: GrpcClientCtor;
        log: StatefulLogInterceptor;
    });
    getGrpcClient: () => GrpcClient;
    close: () => Promise<void>;
    private createInterceptedGrpcClient;
    private emitError;
    private emitReady;
    private handleExceptionalGrpc;
}
