import { Backoff } from 'backoff';
import { IDecodedSerializedEventstoreEvent } from './interfaces';
import { ErrorLogger } from '../index';
declare type Handler = (events: IDecodedSerializedEventstoreEvent) => Promise<void>;
export declare class EventstoreClient {
    client: any;
    backoffStrategy: Backoff;
    streamName: string;
    startPosition: number;
    messagesToGet: number;
    handler: null | Handler;
    logError: ErrorLogger;
    constructor(client: any, errorLogger: ErrorLogger, backoffStrategy: Backoff, streamName: string, startPosition?: number);
    setHandler(handler: Handler): void;
    publish(eventType: string, event: {}): Promise<void>;
    private declareConsumers;
    protected processConsumedAnswer(events: Array<IDecodedSerializedEventstoreEvent>): Promise<void>;
    protected processEvents(events: Array<IDecodedSerializedEventstoreEvent>): Promise<void>;
}
export declare class NoHanlderToProcessEvents extends Error {
    events: any;
    constructor(events: any);
}
export {};
