import { IEventEmitter } from '../../../event-emitter/types';
import { EngineState } from '../../../../constants';
export declare const NATIVE_VIDEO_EVENTS_TO_STATE: string[];
export default class StateEngine {
    private _eventEmitter;
    private _video;
    private _currentState;
    private _statesTimestamps;
    private _initialTimeStamp;
    private _isMetadataLoaded;
    constructor(eventEmitter: IEventEmitter, video: HTMLVideoElement);
    private _bindCallbacks;
    private _bindEvents;
    private _unbindEvents;
    clearTimestamps(): void;
    private _setInitialTimeStamp;
    private _setStateTimestamp;
    get stateTimestamps(): {
        [state: string]: number;
    };
    private _processEventFromVideo;
    setState(state: EngineState): void;
    get isMetadataLoaded(): boolean;
    get state(): EngineState;
    destroy(): void;
}
