import type { DatePickerDateValidators, DatePickerDisplayFormat, DatePickerSelectedMonthYear, DatePickerValue } from './date-picker-types'; export interface DatePickerConstraints { cutoffTime?: string; daysOfWeekChecksum?: number; endDate?: string; invalidDates?: string[]; startDate?: string; validDates?: string[]; } /** Determines a year for a month and day when typeable input omits the year. */ export declare function buildInputDate(input: string, assume: 'current' | 'future' | 'past'): Date | undefined; /** Formats a valid date as an ISO calendar date. */ export declare function formatDateISO(value: Date): string | undefined; /** Formats a date for an accessible day label. */ export declare function formatDateFull(value: Date): string | undefined; /** Returns localized abbreviated day names beginning with Sunday. */ export declare function getDays(): string[]; /** Returns localized full day names beginning with Sunday. */ export declare function getDaysOfWeek(): string[]; /** Parses the date picker's public ISO-only value contract. */ export declare function parseDatePickerValue(value?: string | null): Date | undefined; /** Normalizes a legacy string or Moment-like value for the date picker's ISO-only calendar. */ export declare function normalizeDatePickerValue(value?: DatePickerValue | Date | null): string | undefined; /** Returns the month and year used to initialize the date picker grid. */ export declare function setupMonthYear(value?: Date): DatePickerSelectedMonthYear; /** Returns the enabled day indexes represented by a calendar checksum. */ export declare function getValidDaysOfWeek(checksum?: number): number[]; /** Determines whether a date satisfies the configured bounds and cutoff. */ export declare function baseValidation(dateValidators: DatePickerDateValidators, now: Date, newDate: Date): boolean; /** Determines whether a date's weekday is enabled. */ export declare function validateAgainstChecksum(validDaysOfWeek: number[], date: Date): boolean; /** Determines whether a date is absent from a blacklist. */ export declare function validateAgainstBlacklist(invalidDates: Date[], date: Date): boolean; /** Determines whether a date is present in a whitelist. */ export declare function validateAgainstWhitelist(validDates: Date[], date: Date): boolean; /** Formats a date using one of the date picker's supported numeric display formats. */ export declare function formatDisplayDate(date: Date, displayFormat: DatePickerDisplayFormat): string; /** Formats a date using the legacy Moment-style tokens accepted by q2-calendar. */ export declare function formatLegacyDisplayDate(date: Date, displayFormat: string): string; /** Determines whether a date satisfies every configured selection constraint. */ export declare function isDateSelectable(date: Date, constraints: DatePickerConstraints): boolean; /** Determines whether every date in an inclusive range is selectable. */ export declare function isRangeSelectable(start: Date, end: Date, constraints: DatePickerConstraints): boolean; /** Resolves a date-picker localization key or mapped default string. */ export declare function localizeDatePickerString(value: string, substitutions?: Record): string; /** Returns a supported display format, falling back to the date-picker default. */ export declare function normalizeDisplayFormat(displayFormat?: string): DatePickerDisplayFormat;