import { EventEmitter } from 'eventemitter3';
export interface EventObj {
    type: string;
    [k: string]: any;
}
export declare namespace EventsMatcher {
    type Options = {
        retries: number;
        interval: number;
        noExtraEventsGrace: number;
        timeout?: number;
    };
}
export declare class EventsMatcher {
    private options;
    private events;
    constructor(options: EventsMatcher.Options);
    track(emitter: EventEmitter, ...eventNames: Array<string>): void;
    expect(events: Array<EventObj>): Promise<void>;
    private checkEvents(events);
}
