import type { CalendarEraOption, DateSegmentLayoutPart } from '../date/dateLocale'; import type { DateCalendar, DateSegment, DateValue, IsoDate } from '../date/types'; import { type DateDraft } from './dateFieldState'; export type DateFieldKeyCommand = Readonly<{ type: 'move'; target: DateSegment; }> | Readonly<{ type: 'restore'; }> | Readonly<{ type: 'clear'; }> | Readonly<{ type: 'step'; segment: DateSegment; amount: -1 | 1; }>; type ResolveDateFieldKeyCommandOptions = Readonly<{ key: string; segment: DateSegment; direction: 'ltr' | 'rtl'; visibleSegments: readonly DateSegment[]; editable: boolean; }>; export declare function normalizeDateFieldValue(value: Value, propName: string): Value; export declare function resolveDateFieldKeyCommand(options: ResolveDateFieldKeyCommandOptions): DateFieldKeyCommand | null; export type DateDraftEdit = Readonly<{ draft: DateDraft; shouldApply: boolean; }>; type CreateDateDraftEditOptions = Readonly<{ draft: DateDraft; segment: DateSegment; nextValue: string; locale: string; eraOptions: readonly CalendarEraOption[]; }>; export declare function createDateDraftEdit(options: CreateDateDraftEditOptions): DateDraftEdit; type StepDateDraftOptions = Readonly<{ draft: DateDraft; segment: DateSegment; amount: -1 | 1; calendar: DateCalendar; locale: string; layout: DateSegmentLayoutPart[]; eraOptions: readonly CalendarEraOption[]; }>; export declare function stepDateDraft(options: StepDateDraftOptions): DateDraft | null; type ResolveDateDraftValueOptions = Readonly<{ draft: DateDraft; locale: string; calendar: DateCalendar; minDate?: IsoDate; maxDate?: IsoDate; isDateUnavailable?: (value: DateValue) => boolean; }>; export declare function resolveDateDraftValue({ draft, locale, calendar, minDate, maxDate, isDateUnavailable, }: ResolveDateDraftValueOptions): DateValue | null | undefined; type ParseDateFieldPasteOptions = Readonly<{ text: string; draft: DateDraft; calendar: DateCalendar; locale: string; layout: DateSegmentLayoutPart[]; eraOptions: readonly CalendarEraOption[]; }>; export declare function parseDateFieldPaste(options: ParseDateFieldPasteOptions): DateDraft | null; export {}; //# sourceMappingURL=dateFieldInteractions.d.ts.map