/// <reference types="node" />
import EventEmitter from 'events';
import { IEcho } from './interfaces';
export interface IVirtualTimeObjOptions {
    startTime: number;
    eventEmitter: EventEmitter;
    speed?: number;
    loopTimeMillis?: number;
    echo?: IEcho;
    exitOnError: Function;
}
export declare class VirtualTimeObj {
    private options;
    speed: number;
    private loopTimeMillis;
    virtualStartTs: number;
    private loopTimeMillsEnd;
    realStartTs: number;
    realStartTsLoopSafe: number;
    loopNumber: number;
    ready: boolean;
    isCurrentTime: boolean;
    locked: boolean;
    lastVt: number;
    private eventEmitter;
    private readonly debug;
    private prevVirtualDateNumber;
    private prevVirtualHourNumber;
    constructor(options: IVirtualTimeObjOptions);
    setVirtualNumbers(vt: number): number;
    lock(): void;
    unLock(): void;
    getVirtualTs(): number;
    setReady(): void;
    getString(): string;
}
export declare const getVirtualTimeObj: (options: IVirtualTimeObjOptions) => VirtualTimeObj;
//# sourceMappingURL=VirtualTimeObj.d.ts.map