import type { DateIOAdapter, DateInput, AdapterOptions } from './types';
declare class DateHelpers<T> {
    adapter: DateIOAdapter<T>;
    constructor(adapter: DateIOAdapter<T>);
    cloneAdapter: (b: DateIOAdapter<T>, a?: ((a: AdapterOptions) => AdapterOptions) | null) => DateIOAdapter<T>;
    format: (c: T, b: string, a?: any) => string;
    getAdapterWithNewLocale: (a: unknown) => DateIOAdapter<T>;
    date: (a: DateInput<T> | void) => T;
    dateToSeconds: (a: T) => number;
    secondsToHourMinute: (a: number) => [number, number];
    differenceInCalendarMonths: (b: T, a: T) => number;
    getStartOfWeek: (b: T, a?: any) => T;
    formatDate: (c: T, b: string, a?: any) => string;
    getWeekdayMinInLocale: (b: T, a: any) => string;
    getMonthInLocale: (b: number, a: any) => string;
    getWeekdayInLocale: (b: T, a: any) => string;
    getQuarterInLocale: (b: number, a: any) => string;
    getEndOfWeek: (a: T) => T;
    getDay: (a: T) => number;
    addWeeks: (b: T, a: number) => T;
    subWeeks: (b: T, a: number) => T;
    addYears: (b: T, a: number) => T;
    subYears: (b: T, a: number) => T;
    isSameYear: (b?: T | null, a?: T | null) => boolean;
    isStartOfMonth: (a: T) => boolean;
    isEndOfMonth: (a: T) => boolean;
    isDayInRange: (c: T, b: T, a: T) => boolean;
    isSameDay: (b?: T | null, a?: T | null) => boolean;
    isSameMonth: (b?: T | null, a?: T | null) => boolean;
    dateRangeIncludesDates: (b: Array<T | undefined | null>, a?: Array<T> | null) => boolean;
    subDays: (b: T, a: number) => T;
    subMonths: (b: T, a: number) => T;
    min: (a: Array<T>) => T;
    max: (a: Array<T>) => T;
    getEffectiveMinDate: (a: {
        minDate?: T | null;
        includeDates?: Array<T>;
    }) => T;
    getEffectiveMaxDate: (a: {
        maxDate?: T | null;
        includeDates?: Array<T>;
    }) => T;
    monthDisabledBefore: (b: T, a: {
        minDate?: T | undefined | null;
        includeDates?: Array<T> | undefined | null;
    }) => boolean;
    monthDisabledAfter: (b: T, a: {
        maxDate?: T | undefined | null;
        includeDates?: Array<T> | undefined | null;
    }) => boolean;
    setDate: (b: T, a: number) => T;
    getDate: (a: T) => number;
    applyDateToTime: (b: T | undefined | null, a: T) => T;
    applyTimeToDate: (b: T | undefined | null, a: T) => T;
    isDayDisabled: (b: T, a: {
        minDate?: T | undefined | null;
        maxDate?: T | undefined | null;
        excludeDates?: Array<T> | undefined | null;
        includeDates?: Array<T> | undefined | null;
        filterDate?: ((day: T) => boolean) | undefined | null;
    }) => boolean;
    isOnOrAfterDay: (b: T, a: T) => boolean;
    isOnOrBeforeDay: (b: T, a: T) => boolean;
    isOutOfBounds: (b: T, a: {
        minDate?: T | undefined | null;
        maxDate?: T | undefined | null;
    }) => boolean;
    parseString: (c: string, b: string, a?: any | null) => T;
    parse: (c: string, b: string, a?: any | null) => T;
    setMilliseconds: (b: T, a: number) => T;
    set: (a: T, values: {
        year?: number;
        date?: number;
        month?: number;
        hours?: number;
        minutes?: number;
        seconds?: number;
    }) => T;
    getQuarter: (a: T) => number;
    setSeconds: (b: T, a: number) => T;
    setMinutes: (b: T, a: number) => T;
    setHours: (b: T, a: number) => T;
    setMonth: (b: T, a: number) => T;
    setYear: (b: T, a: number) => T;
    startOfDay: (a: T) => T;
    getMinutes: (a: T) => number;
    getHours: (a: T) => number;
    getMonth: (a: T) => number;
    getYear: (a: T) => number;
    getStartOfMonth: (a: T) => T;
    getEndOfMonth: (a: T) => T;
    addDays: (b: T, a: number) => T;
    addMonths: (b: T, a: number) => T;
    isBefore: (b: T, a: T) => boolean;
    isAfter: (b: T, a: T) => boolean;
    isEqual: (b: T, a: T) => boolean;
    isValid: (a: unknown) => boolean;
}
export default DateHelpers;
