import * as _angular_core from '@angular/core'; import { ControlValueAccessor, DgaDateCalendar, DgaDatePickerMode, DgaFormControlSize, DgaFormStatus, DgaCalendarParts } from '@a.nemreen/dga-ui'; export { DGA_GREGORIAN_MONTHS, DGA_HIJRI_MONTHS, DGA_WEEKDAYS, DgaCalendarParts, DgaDateCalendar, DgaDatePickerMode, dgaAddMonths, dgaClampDate, dgaCoerceDate, dgaCompareDays, dgaDaysInMonth, dgaFormatDate, dgaGetCalendarParts, dgaModeFromFormat, dgaMonthNames, dgaMonthStartWeekday, dgaParseDate, dgaPartsToDate, dgaSameDay, dgaTodayUtc } from '@a.nemreen/dga-ui'; interface DgaDateRangeValue { start: string; end: string; } type PanelView = DgaDatePickerMode; declare class DgaDatePickerComponent implements ControlValueAccessor { private readonly host; private readonly destroyRef; readonly inputId: string; readonly panelId: string; readonly valueInput: _angular_core.InputSignal; readonly value: _angular_core.WritableSignal; readonly startValue: _angular_core.ModelSignal; readonly endValue: _angular_core.ModelSignal; private onChange; private onTouched; readonly calendar: _angular_core.InputSignal; readonly range: _angular_core.InputSignalWithTransform; /** Display format shown in the input (default `DD/MM/YYYY`). */ readonly format: _angular_core.InputSignal; /** * Form / CVA value format. Empty = same as `format` (backward compatible). * Use `YYYY-MM-DD` when APIs expect ISO while the UI stays `DD/MM/YYYY`. */ readonly valueFormat: _angular_core.InputSignal; readonly mode: _angular_core.InputSignal; readonly locale: _angular_core.InputSignal; readonly minDate: _angular_core.InputSignal; readonly maxDate: _angular_core.InputSignal; readonly yearBefore: _angular_core.InputSignal; readonly yearAfter: _angular_core.InputSignal; readonly placeholder: _angular_core.InputSignal; readonly controlId: _angular_core.InputSignal; readonly name: _angular_core.InputSignal; readonly size: _angular_core.InputSignal; readonly disabledInput: _angular_core.InputSignalWithTransform; private readonly cvaDisabled; readonly disabled: _angular_core.Signal; readonly required: _angular_core.InputSignalWithTransform; readonly clearable: _angular_core.InputSignalWithTransform; readonly editable: _angular_core.InputSignalWithTransform; readonly invalid: _angular_core.InputSignalWithTransform; readonly status: _angular_core.InputSignal; readonly rangeSeparator: _angular_core.InputSignal; readonly todayLabel: _angular_core.InputSignal; readonly clearLabel: _angular_core.InputSignal; readonly closeLabel: _angular_core.InputSignal; readonly saveLabel: _angular_core.InputSignal; readonly ariaLabel: _angular_core.InputSignal; readonly resolvedTodayLabel: _angular_core.Signal; readonly resolvedClearLabel: _angular_core.Signal; readonly resolvedCloseLabel: _angular_core.Signal; readonly resolvedSaveLabel: _angular_core.Signal; readonly valueChange: _angular_core.OutputEmitterRef; readonly rangeChange: _angular_core.OutputEmitterRef; readonly open: _angular_core.WritableSignal; readonly panelStyle: _angular_core.WritableSignal>; readonly panelView: _angular_core.WritableSignal; readonly viewParts: _angular_core.WritableSignal; readonly draftStart: _angular_core.WritableSignal; readonly draftEnd: _angular_core.WritableSignal; readonly rangePickPhase: _angular_core.WritableSignal<"start" | "end">; readonly typedValue: _angular_core.WritableSignal; readonly effectiveStatus: _angular_core.Signal; readonly panelMode: _angular_core.Signal; /** Model format used for CVA / `value` / range start-end strings. */ readonly resolvedValueFormat: _angular_core.Signal; readonly labels: _angular_core.Signal<{ readonly today: "اليوم"; readonly clear: "مسح"; readonly close: "إغلاق"; readonly save: "حفظ"; readonly prev: "السابق"; readonly next: "التالي"; readonly calendar: "فتح التقويم"; readonly clearInput: "مسح التاريخ"; readonly month: "الشهر"; readonly year: "السنة"; readonly placeholder: "يوم/شهر/سنة"; readonly rangeStart: "تاريخ البداية"; readonly rangeEnd: "تاريخ النهاية"; } | { readonly today: "Today"; readonly clear: "Clear"; readonly close: "Close"; readonly save: "Save"; readonly prev: "Previous"; readonly next: "Next"; readonly calendar: "Open calendar"; readonly clearInput: "Clear date"; readonly month: "Month"; readonly year: "Year"; readonly placeholder: "DD/MM/YYYY"; readonly rangeStart: "Start date"; readonly rangeEnd: "End date"; }>; readonly resolvedPlaceholder: _angular_core.Signal; readonly weekdays: _angular_core.Signal; readonly minBound: _angular_core.Signal; readonly maxBound: _angular_core.Signal; readonly displayValue: _angular_core.Signal; readonly viewYear: _angular_core.Signal; readonly viewMonth: _angular_core.Signal; readonly monthOptions: _angular_core.Signal<{ value: number; label: string; selected: boolean; disabled: boolean; }[]>; readonly yearOptions: _angular_core.Signal<{ value: number; selected: boolean; disabled: boolean; }[]>; readonly dayCells: _angular_core.Signal; constructor(); onDocumentClick(event: MouseEvent): void; onEscape(): void; onReposition(): void; monthLabel(month: number): string; togglePanel(): void; openPanel(): void; closePanel(restoreDraft?: boolean): void; private repositionPanel; navigate(delta: number): void; setPanelView(view: PanelView): void; selectDay(day: number): void; selectMonth(month: number): void; selectYear(year: number): void; goToday(): void; clearDraft(): void; clearAll(): void; save(): void; onInput(raw: string): void; onInputBlur(): void; onInputKeydown(event: KeyboardEvent): void; private applyDraftDate; private draftAnchorParts; private syncDraftFromModels; /** Parse a model or display string (valueFormat, format, ISO). */ private coerceModelOrDisplay; private toModelString; private parseRangeFromValue; private emitValues; writeValue(value: string): void; registerOnChange(fn: (value: string) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; private isDateDisabled; private isMonthDisabled; private isYearDisabled; private initialViewParts; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface DayCell { key: string; empty: boolean; day?: number; today?: boolean; selected?: boolean; inRange?: boolean; rangeStart?: boolean; rangeEnd?: boolean; disabled?: boolean; label?: string; } export { DgaDatePickerComponent as DgaDatePicker }; export type { DgaDateRangeValue };