import type { DatePartType, IntlLocale } from '@/lib/intl-date/types'; /** IMask pattern for locale date digits (`0` = digit slot). */ export type DateMaskPattern = string; declare function getNumericPartOrder(locale: IntlLocale): DatePartType[]; /** * Builds a mask pattern from `formatToParts()` (e.g. `00/00/0000` for en-US). * * Consecutive `0` runs map to month, day, or year in locale order. */ export declare function buildDateMaskPattern(locale: IntlLocale): DateMaskPattern; /** Human-readable placeholder derived from the locale mask (e.g. `mm/dd/yyyy`). */ export declare function getDefaultDatePlaceholder(locale: IntlLocale): string; /** Strips non-digits from user input. */ export declare function extractMaskDigits(value: string): string; /** * Applies `digits` to a mask pattern, inserting literals as needed. * * @example * applyDateMask('08212002', '00/00/0000') // → '08/21/2002' */ export declare function applyDateMask(digits: string, pattern: DateMaskPattern): string; /** Maximum number of digit slots in a mask pattern. */ export declare function maskDigitCapacity(pattern: DateMaskPattern): number; /** Maps masked digits back to year/month/day using the locale field order. */ export declare function maskedDigitsToParts(digits: string, locale: IntlLocale): Partial> | null; export declare function partsToDate(parts: Partial>): Date | null; export { getNumericPartOrder };