import { Logger, OnModuleInit } from '@nestjs/common';
import { PersistentSubscriptionToStream } from '@eventstore/db-client';
import { ConnectionConfiguration, ConnectionGuard, EventHandler, GrpcConnectionInitializer, IPersistentSubscriptionConfig, Reader } from '../../../';
export declare class GrpcReaderService implements Reader, OnModuleInit {
    private readonly connectionConfiguration;
    private readonly eventHandler;
    private readonly subscriptions;
    private readonly eventStoreDBClient;
    private readonly grpcConnectionInitializer;
    private readonly connectionGuard;
    private readonly logger;
    private client;
    constructor(connectionConfiguration: ConnectionConfiguration, eventHandler: EventHandler, subscriptions: IPersistentSubscriptionConfig[], eventStoreDBClient: any, grpcConnectionInitializer: GrpcConnectionInitializer, connectionGuard: ConnectionGuard, logger: Logger);
    onModuleInit(): Promise<any>;
    private startEventstoreClient;
    upsertPersistantSubscriptions(): Promise<void>;
    init(onEvent: (event: any) => void): Promise<void>;
    subscribeToPersistentSubscriptions(subscriptions: IPersistentSubscriptionConfig[], onEvent: (event: any) => void): Promise<PersistentSubscriptionToStream[]>;
    private upsertPersistentSubscriptions;
    private upsertPersistentSubscription;
    private static isNotAlreadyExistsError;
}
