import { CalendarSystem } from '../calendar-core'; export type SegmentKind = 'day' | 'month' | 'year' | 'hour' | 'minute' | 'second' | 'meridiem' | 'literal' | 'dayOfWeek'; export interface SegmentDescriptor { kind: SegmentKind; token: string; min: number; max: number; digits: number; placeholder: string; } export type SegmentPlaceholder = Partial>; export declare const getMaxFirstDigit: (desc: SegmentDescriptor) => number; export declare const parseFormat: (format: string, placeholders?: Partial>) => SegmentDescriptor[]; export declare const buildDisplayValue: (descriptors: SegmentDescriptor[], values: string[], locale: string, calendarSystem: CalendarSystem) => string; export declare const resolveSegmentPosition: (descriptors: SegmentDescriptor[], values: string[], options: { kind: 'range'; segmentIndex: number; } | { kind: 'index'; caret: number; }, calendarSystem: CalendarSystem) => [number, number] | number; export declare const getSegmentRange: (descriptors: SegmentDescriptor[], values: string[], segmentIndex: number, calendarSystem: CalendarSystem) => [number, number]; export declare const segmentIndexFromCaret: (descriptors: SegmentDescriptor[], values: string[], caret: number, calendarSystem: CalendarSystem) => number; export declare const isFocusableSegment: (kind: SegmentKind) => boolean; export declare const editableCount: (descriptors: SegmentDescriptor[]) => number; export declare const editableDescriptor: (descriptors: SegmentDescriptor[], index: number) => SegmentDescriptor; export declare const dateToSegmentValues: (date: Date | null | undefined, descriptors: SegmentDescriptor[], locale: string, calendarSystem: CalendarSystem) => string[]; export declare const normalizeToAsciiDigits: (str: string) => string; export declare const tryParseFullDate: (inputText: string, formatDescriptors: SegmentDescriptor[], calendarSystem: CalendarSystem) => Date | null; export declare const parseMonthName: (monthName: string, locale?: string) => number; export declare const composeDate: (formatDescriptors: SegmentDescriptor[], segmentValues: string[], locale: string, showMaskByDefault: boolean, calendarSystem: CalendarSystem) => Date | null; export declare const getLocaleMeridiem: (isPM: boolean, token: string, locale: string) => string; export declare const getLocaleMeridiemPair: (token: string, locale: string) => { am: string; pm: string; }; export declare const getBaseDate: (descriptors: SegmentDescriptor[], values: string[], calendarSystem: CalendarSystem, fallbackDate?: Date) => Date;