import { timezones } from "./timezones";
import { units } from "./units";
export declare class DateTime {
    private date;
    timezone: timezones;
    unix(): number;
    add(amount?: number, unit?: units): DateTime;
    sub(amount?: number, unit?: units): DateTime;
    diff(datetime: DateTime, unit?: units, considerTimezone?: boolean): number;
    setTimezone(timezone: timezones): void;
    tzOffset(timezone: timezones): number;
    tz(timezone: timezones): DateTime;
    utc(): DateTime;
    format(pattern: string): string;
    isValid(): boolean;
    startOf(unit: units): DateTime;
    endOf(unit: units): DateTime;
    isEqual(datetime: DateTime, precision?: units): boolean;
    isAfter(datetime: DateTime, precision?: units): boolean;
    isAfterOrEqual(datetime: DateTime, precision?: units): boolean;
    isBefore(datetime: DateTime, precision?: units): boolean;
    isBeforeOrEqual(datetime: DateTime, precision?: units): boolean;
    toJSON(): string;
    constructor(date?: string | number | Date | DateTime, timezone?: timezones);
    getDate(): Date;
}
export declare function datetime(...props: any[]): DateTime;
