import * as i0 from '@angular/core'; import { OnInit, OnChanges, ChangeDetectorRef, EventEmitter, ElementRef, SimpleChanges } from '@angular/core'; import { NgControl, NgForm, FormGroupDirective } from '@angular/forms'; import { ButtonOptions } from '@usitsdasdesign/dds-ng/button'; import { DestroyCtor, I18nCtor, ResponsivenessCtor, FormAccessorCtor, ErrorStateCtor } from '@usitsdasdesign/dds-ng/core/common-behaviors'; import { LabelPosition, ErrorState, Size, PositionState, Themes, ButtonKind, WidthState } from '@usitsdasdesign/dds-ng/shared'; import { DdsConfigService } from '@usitsdasdesign/dds-ng/shared/dds-config'; import { I18nService, ITranslation } from '@usitsdasdesign/dds-ng/shared/i18n'; import { ResizeHandlerService } from '@usitsdasdesign/dds-ng/shared/resize-handler'; import { StickerDirective } from '@usitsdasdesign/dds-ng/sticker'; interface TimePickerOptions { label?: string; labelPosition?: LabelPosition | string; description?: string; errorMessage?: string; icon?: string; customClass?: string; errorState?: string | ErrorState; size?: Size | string; format?: TimeFormat | number; minuteStep?: number; hourStep?: number; disabled?: boolean; isResponsive?: boolean; isInverse?: boolean; isError?: boolean; isRequired?: boolean; readonly?: boolean; isClearBtnEnabled?: boolean; stickerPosition?: PositionState | string; stickerMaxHeight?: number | string; stickerCustomClass?: string; stickerIndent?: number; stickerShift?: number; stickerIsDisabled?: boolean; stickerIsOutsideClick?: boolean; stickerIsDynamic?: boolean; } interface TimeField { title: string; value?: string | number; current?: string | number; placeholder?: string; readOnly?: boolean; } declare enum TimeFormat { h12 = 12, h24 = 24 } declare enum MeridiemState { am = "AM", pm = "PM" } declare enum TimepickerFields { hours = "hours", minutes = "minutes", meridiem = "meridiem" } declare const TimepickerBase: DestroyCtor & I18nCtor & ResponsivenessCtor & FormAccessorCtor & ErrorStateCtor; declare class TimepickerComponent extends TimepickerBase implements OnInit, OnChanges { ngControl: NgControl; parentForm: NgForm; parentFormGroup: FormGroupDirective; cdr: ChangeDetectorRef; resizeService: ResizeHandlerService; i18n: I18nService; private ddsConfig; disabled: boolean | undefined; isEmptyValue: boolean; label: string | undefined; description: string | undefined; errorMessage: string | undefined; customClass: string | undefined; labelPosition: LabelPosition | string | undefined; size: Size | string | undefined; icon: string | undefined; format: TimeFormat | number | undefined; minuteStep: number | undefined; hourStep: number | undefined; isError: boolean | undefined; isInverse: boolean | undefined; isRequired: boolean | undefined; readonly: boolean | undefined; errorState: string | ErrorState | undefined; isResponsive: boolean | undefined; isClearBtnEnabled: boolean | undefined; stickerPosition: PositionState | string | undefined; stickerWidth: number | string | undefined; stickerMaxHeight: number | string | undefined; stickerCustomClass: string | undefined; stickerIndent: number | undefined; stickerShift: number | undefined; stickerIsDisabled: boolean | undefined; stickerIsOutsideClick: boolean | undefined; stickerIsDynamic: boolean | undefined; get value(): Date | undefined; set value(value: Date | undefined); timeChanged: EventEmitter; sticker: StickerDirective; timepicker: ElementRef; timepickerBtn: ElementRef; clearBtn: ElementRef; timeInput: ElementRef; Themes: typeof Themes; ButtonKind: typeof ButtonKind; WidthState: typeof WidthState; isShown: boolean; time: typeof TimeFormat; meridiemState: typeof MeridiemState; hours: { title: TimepickerFields; value: string; current: string; placeholder: string; }; minutes: { title: TimepickerFields; value: string; current: string; placeholder: string; }; meridiem: { title: TimepickerFields; value: string; current: MeridiemState; placeholder: string; readOnly: boolean; }; timeFields: TimeField[]; btnOptions: ButtonOptions; isShownByKeyboard: boolean; keyboardStatus: boolean; isSizeLg: boolean; isSizeSm: boolean; isExternalLabel: boolean; isTimeFormat24: boolean; buttonSize: Size; isInputActive: boolean; openPopupBtnAriaLabel: string; clearBtnAriaLabel: string; private _value; isMeridiemField(field: TimeField): boolean; isHoursField(field: TimeField): boolean; getStep(type: string): number; constructor(ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, cdr: ChangeDetectorRef, resizeService: ResizeHandlerService, i18n: I18nService, ddsConfig: DdsConfigService); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; writeValue(time: Date): void; setDisabledState(disabled: boolean): void; toggleTimepicker(event: Event): void; onKeydown(event: KeyboardEvent): void; popupShown(): void; popupHidden(): void; reset(): void; timeChange(fieldName: string, step: number, fromInput?: boolean): void; fieldChange(fieldName: string, val: number, fromInput?: boolean): void; validateField(fieldName: string, event: KeyboardEvent): void; formatHour(value: number): string; inputFocus(): void; inputBlur(): void; close(): void; clearField(event: Event): void; private removeFocus; private changeHour; private updateHour; private changeMinute; private updateMinute; private toggleMeridiem; private getMeridiem; private changeMeridiemByKeypress; private toGlobalFormat; private getNumber; private padNumber; private setValidTime; private setTime; private checkIsEmpty; private checkLabelPosition; private checkSize; private setStartTime; private clearTimeFields; private validateTimeStep; protected setI18nTexts(translation: ITranslation): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TimepickerModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { MeridiemState, TimeFormat, TimepickerComponent, TimepickerFields, TimepickerModule }; export type { TimeField, TimePickerOptions };