type DateTimeParseInputType = string | Date | DateTime; export declare class DateTime { private __VAL; private constructor(); static maxValue: DateTime; static safeParseNull(value: DateTimeParseInputType | undefined | null): DateTime | null; static safeParse(value: DateTimeParseInputType | undefined | null): DateTime | undefined; static parse(value: DateTimeParseInputType): DateTime; /** * Returns current local date and time */ static now(): DateTime; /** * Returns current local date part only */ static today(): DateTime; static diff(endDate: DateTime, startDate: DateTime): TimeInterval; static compare(d1: DateTime | undefined, d2: DateTime | undefined): 0 | 1 | -1; fromNow(): string; format(format: string): string; date(): DateTime; utc(): DateTime; modify(update: { days?: number; }): DateTime; round(options: { value: number; interval: 'minutes'; type: 'down' | 'up'; }): DateTime; next(nextInterval: 'hour'): DateTime; get year(): number; convertToDate(): Date; asApiJsonDate(): string; asApiJsonDateTimeLocal(): string; asApiJsonDateTimeUTC(): string; } export declare class DateTimeRange { start: DateTime; end: DateTime; static createSingle(date: DateTime): DateTimeRange; static createRange(start: DateTime, end: DateTime): DateTimeRange; static equal(d1: DateTimeRange | undefined, d2: DateTimeRange | undefined): boolean; contains(date: DateTime): boolean; isEqualStartEnd(): boolean; private constructor(); } export declare class TimeInterval { totalDays: number; totalHours: number; totalMinutes: number; totalSeconds: number; days: number; hours: number; minutes: number; seconds: number; constructor(totalDays?: number, totalHours?: number, totalMinutes?: number, totalSeconds?: number); format(value: string): string; } export {};