import { IEventEmitter } from '../event-emitter/types';
import { IPlaybackEngine } from '../playback-engine/types';
import { IReportReasons, IReportTypes, IReportType } from './types';
export declare const REPORT_REASONS: IReportReasons;
export declare const DELAYED_REPORT_TYPES: IReportTypes;
export default class AnomalyBloodhound {
    static moduleName: string;
    static dependencies: string[];
    private _engine;
    private _eventEmitter;
    private _timeoutMap;
    private _unbindEvents;
    private _callback;
    constructor({ engine, eventEmitter, }: {
        engine: IPlaybackEngine;
        eventEmitter: IEventEmitter;
    });
    private _bindEvents;
    private _processStateChange;
    isDelayedReportExist(type: IReportType): boolean;
    startDelayedReport(type: IReportType, reason: string): void;
    stopDelayedReport(type: IReportType): void;
    stopAllDelayedReports(): void;
    setAnomalyCallback(callback: (anomalyData: any) => void): void;
    reportDebugInfo({ reason, startTS, endTS, }: {
        reason: string;
        startTS?: number;
        endTS?: number;
    }): void;
    destroy(): void;
}
