import { Uncertainty } from './uncertainty'; import { DateTime as LuxonDateTime } from 'luxon'; declare abstract class AbstractDate { year: number | null; month: number | null; day: number | null; constructor(year?: number | null, month?: number | null, day?: number | null); abstract getPrecision(): string | null; abstract getDateTime(): DateTime; abstract copy(): AbstractDate; abstract toLuxonDateTime(): LuxonDateTime; abstract isDate: boolean; abstract isDateTime: boolean; isPrecise(): any; isImprecise(): boolean; isMorePrecise(other: any): boolean; isLessPrecise(other: any): boolean; isSamePrecision(other: any): boolean; equals(other: any): any; equivalent(other: any): any; sameAs(other: any, precision?: any): boolean | null; sameOrBefore(other: any, precision?: any): boolean | null; sameOrAfter(other: any, precision?: any): boolean | null; before(other: any, precision?: any): boolean | null; after(other: any, precision?: any): boolean | null; add(offset: any, field: any): any; getFieldFloor(field: any): 1 | 0; getFieldCieling(field: any): number; } export declare class DateTime extends AbstractDate { hour: number | null; minute: number | null; second: number | null; millisecond: number | null; timezoneOffset: number | null; static readonly Unit: { YEAR: string; MONTH: string; WEEK: string; DAY: string; HOUR: string; MINUTE: string; SECOND: string; MILLISECOND: string; }; static readonly FIELDS: string[]; static parse(string: any): DateTime | null; static fromJSDate(date: any, timezoneOffset?: any): DateTime; static fromLuxonDateTime(luxonDT: LuxonDateTime): DateTime; constructor(year?: number | null, month?: number | null, day?: number | null, hour?: number | null, minute?: number | null, second?: number | null, millisecond?: number | null, timezoneOffset?: number | null); get isDateTime(): boolean; get isDate(): boolean; copy(): DateTime; successor(): any; predecessor(): any; convertToTimezoneOffset(timezoneOffset?: number): DateTime; differenceBetween(other: any, unitField: any): Uncertainty | null; durationBetween(other: any, unitField: any): Uncertainty | null; isUTC(): boolean; getPrecision(): string | null; getPrecisionValue(): any; toLuxonDateTime(): LuxonDateTime; toLuxonUncertainty(): Uncertainty; toJSDate(ignoreTimezone?: boolean): globalThis.Date; toJSON(): string; _pad(num: number): string; toString(): string; toStringTime(): string; toStringDateTime(): string; getDateTime(): this; getDate(): Date; getTime(): DateTime; isTime(): boolean; _implicitlyConvert(other: any): any; reducedPrecision(unitField?: string | null): DateTime; } export declare class Date extends AbstractDate { static readonly Unit: { YEAR: string; MONTH: string; WEEK: string; DAY: string; }; static readonly FIELDS: string[]; static parse(string: any): Date | null; constructor(year?: number | null, month?: number | null, day?: number | null); get isDate(): boolean; get isDateTime(): boolean; copy(): Date; successor(): any; predecessor(): any; differenceBetween(other: any, unitField: any): Uncertainty | null; durationBetween(other: any, unitField: any): Uncertainty | null; getPrecision(): string | null; getPrecisionValue(): any; toLuxonDateTime(): LuxonDateTime; toLuxonUncertainty(): Uncertainty; toJSDate(): globalThis.Date; static fromJSDate(date: any): Date; static fromLuxonDateTime(luxonDT: LuxonDateTime): Date; toJSON(): string; toString(): string; getDateTime(timeZoneOffset?: number | null): DateTime; reducedPrecision(unitField?: string): Date; } export declare const MIN_DATETIME_VALUE: DateTime | null; export declare const MAX_DATETIME_VALUE: DateTime | null; export declare const MIN_DATE_VALUE: Date | null; export declare const MAX_DATE_VALUE: Date | null; export declare const MIN_TIME_VALUE: DateTime | undefined; export declare const MAX_TIME_VALUE: DateTime | undefined; export {};