import { Logger } from './contracts'; import { ILogger } from '../browser-agent/lib/logger/ilogger'; export declare abstract class AgentTime { protected static _instance: AgentTime; static DEFAULT_SYNC_INTERVAL_SEC: number; static DEFAULT_SYNC_INTERVAL: number; static DEFAULT_TIMEOUT: number; protected readonly logger: Logger | ILogger; private readonly MIN_SYNC_INTERVAL; private readonly syncIntervalSec; private timeSyncOffset; private intervalStarted; protected constructor(syncIntervalSec: number, logger: Logger | ILogger); static getCreateAgentTimeSynchronizer: (syncIntervalSec: number, logger: Logger | ILogger, ...args: unknown[]) => AgentTime; static getOffset(): number; initiateClockSync(): Promise; private syncTime; private startSynchronization; protected abstract getSynchronizationTime(): Promise<{ offset: number; }>; }