import dayjs, { Dayjs } from 'dayjs'; import { AdapterFormats, DateAdapter, DateBuilderReturnType } from '../models/adapter'; export interface DayjsAdapterOptions { locale?: string; } declare module '../models/pickers' { interface PickerValidDateLookup { dayjs: Dayjs; } } export declare class DayjsAdapter implements DateAdapter { locale?: string; formats: AdapterFormats; constructor({ locale }?: DayjsAdapterOptions); date: (value?: T) => DateBuilderReturnType; toJsDate: (value: Dayjs) => Date; parse: (value: string, format: string) => Dayjs | null; format: (value: Dayjs, formatKey: keyof AdapterFormats) => string; formatByString: (value: Dayjs, formatString: string) => string; getYear: (value: Dayjs) => number; getMonth: (value: Dayjs) => number; getHours: (value: Dayjs) => number; getMinutes: (value: Dayjs) => number; getSeconds: (value: Dayjs) => number; getMilliseconds: (value: Dayjs) => number; getDaysInMonth: (value: Dayjs) => number; getDate: (value: Dayjs) => number; isValid: (value: any) => boolean; isSameDay: (value: Dayjs, comparing: Dayjs) => boolean; isSameMonth: (value: Dayjs, comparing: Dayjs) => boolean; isSameYear: (value: Dayjs, comparing: Dayjs) => boolean; isBefore: (value: Dayjs, comparing: Dayjs) => boolean; isAfter: (value: Dayjs, comparing: Dayjs) => boolean; isBeforeDay: (value: Dayjs, comparing: Dayjs) => boolean; isAfterDay: (value: Dayjs, comparing: Dayjs) => boolean; isBeforeYear: (value: Dayjs, comparing: Dayjs) => boolean; isAfterYear: (value: Dayjs, comparing: Dayjs) => boolean; add: (value: Dayjs, amount: number, unit: string) => Dayjs; subtract: (value: Dayjs, amount: number, unit: string) => Dayjs; addDays: (value: Dayjs, amount: number) => Dayjs; addMonths: (value: Dayjs, amount: number) => Dayjs; addYears: (value: Dayjs, amount: number) => Dayjs; setYear: (value: Dayjs, year: number) => Dayjs; setMonth: (value: Dayjs, month: number) => Dayjs; setDate: (value: Dayjs, date: number) => Dayjs; setHours: (value: Dayjs, hours: number) => dayjs.Dayjs; setMinutes: (value: Dayjs, minutes: number) => dayjs.Dayjs; setSeconds: (value: Dayjs, seconds: number) => dayjs.Dayjs; setMilliseconds: (value: Dayjs, milliseconds: number) => dayjs.Dayjs; startOf: (value: Dayjs, unit: string) => Dayjs; endOf: (value: Dayjs, unit: string) => Dayjs; startOfDay: (value: Dayjs) => Dayjs; endOfDay: (value: Dayjs) => Dayjs; startOfMonth: (value: Dayjs) => Dayjs; endOfMonth: (value: Dayjs) => Dayjs; startOfWeek: (value: Dayjs) => Dayjs; endOfWeek: (value: Dayjs) => Dayjs; startOfYear: (value: Dayjs) => Dayjs; endOfYear: (value: Dayjs) => Dayjs; getCurrentLocaleCode: () => string; is12HourCycleInCurrentLocale: () => boolean; getWeekArray: (value: Dayjs) => dayjs.Dayjs[][]; getWeekNumber: (value: Dayjs) => number; getDayOfWeek(value: Dayjs): number; }