import { format } from './format'; import { parse } from './parse'; /** * Get the current date/time as a DateTime instance. * Inspired by Laravel's `now()` helper. * * @example * ```ts * now().toDateString() // '2024-03-15' * now().format('MMMM D, YYYY') // 'March 15, 2024' * now().addDays(7).toDateString() * now().startOfMonth().toDateString() * now().diffInDays(someOtherDate) * ``` */ export declare function now(): DateTime; declare interface FormatOptions { locale?: string tz?: string } declare type DateInput = Date | string; /** * A fluent DateTime wrapper inspired by Laravel's Carbon. * * Provides chainable date manipulation, formatting, and comparison * with zero external dependencies. */ export declare class DateTime { constructor(date?: DateInput, formatStr?: string); static now(): DateTime; static create(year: number, month?: number, day?: number, hour?: number, minute?: number, second?: number): DateTime; static fromDate(date: Date): DateTime; static parse(dateStr: string, formatStr?: string): DateTime; format(formatStr: string, localeOrOptions?: string | FormatOptions): string; toDateString(): string; toTimeString(): string; toDateTimeString(): string; toISOString(): string; toString(): string; get year(): number; get month(): number; get day(): number; get hour(): number; get minute(): number; get second(): number; get dayOfWeek(): number; get timestamp(): number; setYear(year: number): DateTime; setMonth(month: number): DateTime; setDay(day: number): DateTime; setHour(hour: number): DateTime; setMinute(minute: number): DateTime; setSecond(second: number): DateTime; addSeconds(n: number): DateTime; addMinutes(n: number): DateTime; addHours(n: number): DateTime; addDays(n: number): DateTime; addWeeks(n: number): DateTime; addMonths(n: number): DateTime; addYears(n: number): DateTime; subSeconds(n: number): DateTime; subMinutes(n: number): DateTime; subHours(n: number): DateTime; subDays(n: number): DateTime; subWeeks(n: number): DateTime; subMonths(n: number): DateTime; subYears(n: number): DateTime; startOfDay(): DateTime; endOfDay(): DateTime; startOfMonth(): DateTime; endOfMonth(): DateTime; startOfYear(): DateTime; endOfYear(): DateTime; isBefore(other: DateTime | Date): boolean; isAfter(other: DateTime | Date): boolean; isSame(other: DateTime | Date): boolean; isSameDay(other: DateTime | Date): boolean; isBetween(start: DateTime | Date, end: DateTime | Date): boolean; isPast(): boolean; isFuture(): boolean; isToday(): boolean; isLeapYear(): boolean; diffInSeconds(other: DateTime | Date): number; diffInMinutes(other: DateTime | Date): number; diffInHours(other: DateTime | Date): number; diffInDays(other: DateTime | Date): number; toNativeDate(): Date; toJSON(): string; valueOf(): number; }