import * as _angular_core from '@angular/core'; import { ModelSignal, ElementRef, InjectionToken } from '@angular/core'; import * as _lucca_front_ng_time from '@lucca-front/ng/time'; import { ControlValueAccessor } from '@angular/forms'; import { LuTranslation } from '@lucca-front/ng/core'; type ISO8601Duration = `${string}P${string}`; type ISO8601Time = `${string}:${string}:${string}`; type PickerControlDirection = 'up' | 'down'; declare class TimePickerPartComponent { private locale; readonly label: _angular_core.InputSignal; readonly decimalConf: _angular_core.InputSignal; value: ModelSignal; readonly display: _angular_core.InputSignal; readonly max: _angular_core.InputSignalWithTransform; readonly autoWidth: _angular_core.InputSignalWithTransform; readonly displayArrows: _angular_core.InputSignalWithTransform; readonly isReadonly: _angular_core.InputSignalWithTransform; readonly hideValue: _angular_core.InputSignalWithTransform; readonly disabled: _angular_core.InputSignalWithTransform; readonly focused: _angular_core.InputSignalWithTransform; readonly maxDigits: _angular_core.InputSignal; readonly showZero: _angular_core.InputSignalWithTransform; digitNumber: ModelSignal; isValueSet: ModelSignal; prevRequest: _angular_core.OutputEmitterRef; nextRequest: _angular_core.OutputEmitterRef; inputControlClick: _angular_core.OutputEmitterRef; touched: _angular_core.OutputEmitterRef; timePickerInput?: ElementRef; valueLabel: _angular_core.Signal; protected inputId: string; constructor(locale: string); arrowKeyPressed(event: KeyboardEvent, isUpArrow: boolean): void; keysInputHandler(event: Event): void; clearField(event: Event): void; clickHandler(event: MouseEvent): void; up(): void; down(): void; keydownHandler(event: KeyboardEvent): void; moveRequest(event: Event, direction: 'prev' | 'next'): void; focus(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare abstract class BasePickerComponent implements ControlValueAccessor { onChange: (value: ISO8601Time | ISO8601Duration) => void; onTouched: () => void; step: _angular_core.InputSignal<`${string}P${string}`>; disabled: _angular_core.ModelSignal; size: _angular_core.InputSignal<"S" | "M">; hoursPart: _angular_core.Signal; minutesPart: _angular_core.Signal; protected hoursIncrement: _angular_core.Signal; protected minutesIncrement: _angular_core.Signal; registerOnChange(fn: () => void): void; registerOnTouched(fn: () => void): void; abstract writeValue(value: ISO8601Time | ISO8601Duration): void; abstract getHoursIncrement(): number; abstract getMinutesIncrement(): number; protected focusPart(type: 'hours' | 'minutes'): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type DurationChangeEvent = { previousValue: ISO8601Duration | null; value: ISO8601Duration; } & ({ source: 'input' | 'paste'; } | { source: 'control'; part: 'minutes' | 'hours'; direction: 'up' | 'down'; }); declare class DurationPickerComponent extends BasePickerComponent { readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_time.DurationPickerTranslations, Partial<_lucca_front_ng_time.DurationPickerTranslations>>; value: _angular_core.ModelSignal<`${string}P${string}`>; readonly max: _angular_core.InputSignal<`${string}P${string}`>; readonly displayArrows: _angular_core.InputSignalWithTransform; readonly label: _angular_core.InputSignal; readonly hideZeroValue: _angular_core.InputSignalWithTransform; readonly durationChange: _angular_core.OutputEmitterRef; protected readonly hours: _angular_core.Signal; protected readonly minutes: _angular_core.Signal; protected readonly shouldHideValue: _angular_core.Signal; protected readonly maxDigits: _angular_core.Signal; protected readonly pickerClasses: _angular_core.Signal<{ [x: string]: boolean; timePicker: boolean; 'mod-stepper': boolean; 'mod-stepperHover': boolean; }>; protected readonly fieldsetSuffixClasses: _angular_core.Signal<{ 'timePicker-fieldset-groupSeparator': boolean; 'pr-u-visibilityHidden': boolean; }>; protected separator: _angular_core.Signal; protected hoursDecimalConf: string; writeValue(value: ISO8601Duration): void; setDisabledState?(isDisabled: boolean): void; protected hoursInputHandler(value: number | '––'): void; protected minutesInputHandler(value: number | '––'): void; protected copyHandler(event: ClipboardEvent): void; protected pasteHandler(event: ClipboardEvent): void; getHoursIncrement(): number; getMinutesIncrement(): number | null; private setTime; protected inputControlClickHandler(part: 'hours' | 'minutes', direction: PickerControlDirection): void; focus(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare const LU_DURATION_PICKER_TRANSLATIONS: InjectionToken>; type DurationPickerTranslations = { timePickerHours: string; timePickerTimeSeparator: string; timePickerMinutes: string; }; declare const luDurationPickerTranslations: LuTranslation; type TimeChangeEvent = { previousValue: ISO8601Time | null; value: ISO8601Time; } & ({ source: 'input' | 'paste'; } | { source: 'control'; part: 'minutes' | 'hours'; direction: 'up' | 'down'; }); declare class TimePickerComponent extends BasePickerComponent { readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_time.TimePickerTranslations, Partial<_lucca_front_ng_time.TimePickerTranslations>>; protected localeId: string; readonly idSuffix: number; readonly anteMeridiemRef: _angular_core.Signal>; readonly postMeridiemRef: _angular_core.Signal>; value: _angular_core.ModelSignal<`${string}:${string}:${string}`>; readonly max: _angular_core.InputSignal<`${string}:${string}:${string}`>; readonly displayArrows: _angular_core.InputSignalWithTransform; readonly forceMeridiemDisplay: _angular_core.InputSignal; readonly enableMeridiemDisplay: _angular_core.Signal; readonly label: _angular_core.InputSignal; readonly timeChange: _angular_core.OutputEmitterRef; protected readonly hoursDisplay: _angular_core.Signal; protected readonly minutesDisplay: _angular_core.Signal; protected readonly hours: _angular_core.Signal; protected readonly minutes: _angular_core.Signal; protected readonly pickerClasses: _angular_core.Signal<{ [x: string]: boolean; timePicker: boolean; 'mod-stepper': boolean; 'mod-stepperHover': boolean; }>; protected separator: _angular_core.Signal; protected hoursDecimalConf: string; protected readonly maxHours: _angular_core.Signal; protected readonly ampmDisplay: _angular_core.Signal<"AM" | "PM">; protected focusPart(type: 'hours' | 'minutes' | 'meridiem'): void; writeValue(value: ISO8601Time): void; setDisabledState?(isDisabled: boolean): void; protected hoursInputHandler(value: number | '––'): void; protected minutesInputHandler(value: number | '––'): void; protected copyHandler(event: ClipboardEvent): void; protected pasteHandler(event: ClipboardEvent): void; getHoursIncrement(): number; getMinutesIncrement(): number | null; private setTime; protected inputControlClickHandler(part: 'hours' | 'minutes', direction: PickerControlDirection): void; focus(): void; switchMeridiem(newValue: 'AM' | 'PM'): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare const LU_TIME_PICKER_TRANSLATIONS: InjectionToken>; type TimePickerTranslations = { timePickerHours: string; timePickerTimeSeparator: string; timePickerMinutes: string; }; declare const luTimePickerTranslations: LuTranslation; export { DurationPickerComponent, LU_DURATION_PICKER_TRANSLATIONS, LU_TIME_PICKER_TRANSLATIONS, TimePickerComponent, luDurationPickerTranslations, luTimePickerTranslations }; export type { DurationPickerTranslations, ISO8601Duration, ISO8601Time, TimePickerTranslations };