/// import { Observable } from 'rxjs'; import { Dayjs, ConfigType } from 'dayjs'; import { IDuration, TimeUnit } from '@platform/types'; export { IDuration, TimeUnit }; export declare type TimeDelay = (msecs: number, callback?: () => T) => TimeDelayPromise; export declare type TimeDelayPromise = Promise & { id: NodeJS.Timeout; isCancelled: boolean; cancel(): void; result: T | undefined; }; export declare type TimeWait = (msecs: number | Observable) => Promise; export declare type TimeElapsed = (from: DateInput, options?: { to?: DateInput; round?: number; }) => IDuration; export declare type DayFactory = (config?: ConfigType) => Dayjs; export declare type DateInput = number | string | Date | Dayjs; export declare type ITime = { delay: TimeDelay; wait: TimeWait; elapsed: TimeElapsed; day: DayFactory; now: IDate; timezone: string; utc(input?: Date | number): IDate; timer(start?: Date, options?: { round?: number; }): ITimer; duration(msec: number | string, options?: { round?: number; }): IDuration; }; export declare type IDate = { date: Date; timestamp: number; unix: number; format(template?: string): string; }; export declare type ITimer = { startedAt: Date; reset: () => ITimer; elapsed: IDuration; };