declare const STOP_EVENT_PROPAGATION: unique symbol; type Callback = (arg: T) => void | typeof STOP_EVENT_PROPAGATION; declare const marry: (from: TimescapeManager, to: TimescapeManager) => void; type DateType = 'days' | 'months' | 'years' | 'hours' | 'minutes' | 'seconds' | 'am/pm'; declare const $NOW: "$NOW"; type $NOW = typeof $NOW; type Options = { date?: Date; minDate?: Date | $NOW; maxDate?: Date | $NOW; hour12?: boolean; digits?: 'numeric' | '2-digit'; wrapAround?: boolean; snapToStep?: boolean; }; type RangeOptions = { from?: Options & { date?: Date; }; to?: Options & { date?: Date; }; }; type Events = { changeDate: Date | undefined; focusWrap: 'start' | 'end'; }; declare class TimescapeManager implements Options { #private; minDate?: Options['minDate']; maxDate?: Options['maxDate']; hour12?: Options['hour12']; digits?: Options['digits']; wrapAround?: Options['wrapAround']; snapToStep?: Options['snapToStep']; get date(): Date | undefined; set date(nextDate: Date | number | string | undefined); constructor(initialDate?: Date, options?: Options); updateDate(timestamp: Date | number | string | undefined): void; resync(): void; registerRoot(element: HTMLElement): void; registerElement(element: HTMLInputElement, type: DateType, autofocus?: boolean, domExists?: boolean): HTMLInputElement | undefined; remove(): void; focusField(which?: DateType | number): void; on(event: E, callback: Callback): () => void; } export { $NOW, type DateType, type Options, type RangeOptions, TimescapeManager, TimescapeManager as default, marry };