import { AfterContentInit, DoCheck, ElementRef, EventEmitter, OnDestroy, Renderer2 } from '@angular/core'; import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms'; import { DateAdapter, ErrorStateMatcher, KbqLocaleService } from '@koobiq/components/core'; import { KbqFormFieldControl } from '@koobiq/components/form-field'; import type { KbqWarningTooltipTrigger } from '@koobiq/components/tooltip'; import { Subject } from 'rxjs'; import { TimeFormats } from './timepicker.constants'; import * as i0 from "@angular/core"; /** @docs-private */ export declare const KBQ_TIMEPICKER_VALUE_ACCESSOR: any; /** @docs-private */ export declare const KBQ_TIMEPICKER_VALIDATORS: any; export declare class KbqTimepicker implements KbqFormFieldControl, ControlValueAccessor, Validator, OnDestroy, DoCheck, AfterContentInit { private elementRef; private renderer; private dateAdapter; private localeService?; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ readonly stateChanges: Subject; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ focused: boolean; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ controlType: string; /** Object used to control when error messages are shown. */ get errorStateMatcher(): ErrorStateMatcher; set errorStateMatcher(value: ErrorStateMatcher); /** * Implemented as part of KbqFormFieldControl. * @docs-private */ get placeholder(): string; set placeholder(value: string); private _placeholder; get disabled(): boolean; set disabled(value: boolean); private _disabled; get id(): string; set id(value: string); private _id; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ get required(): boolean; set required(value: boolean); private _required; get format(): TimeFormats; set format(formatValue: TimeFormats); private _format; get min(): D | null; set min(value: D | null); private _min; get max(): D | null; set max(value: D | null); private _max; get value(): D | null; set value(value: D | null); private _value; set kbqValidationTooltip(tooltip: KbqWarningTooltipTrigger); readonly incorrectInput: EventEmitter; get hasSelection(): boolean; get isFullFormat(): boolean; get isShortFormat(): boolean; get viewValue(): string; get ngControl(): any; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ get empty(): boolean; get selectionStart(): number | null; set selectionStart(value: number | null); get selectionEnd(): number | null; set selectionEnd(value: number | null); /** Localized placeholder */ get timeFormatPlaceholder(): string; /** @docs-private */ get errorState(): boolean; set errorState(value: boolean); private readonly useLegacyValidation; private readonly uid; private readonly validator; private lastValueValid; private control?; private defaultPlaceholder; private separator; private onChange; private onTouched; private localeSubscription; private errorStateTracker; constructor(elementRef: ElementRef, renderer: Renderer2, dateAdapter: DateAdapter, localeService?: KbqLocaleService | undefined); ngDoCheck(): void; ngAfterContentInit(): void; ngOnDestroy(): void; getSize(): number; focus(): void; focusChanged(isFocused: boolean): void; onBlur(): void; onPaste($event: any): void; onInput: () => void; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ onContainerClick(): void; onKeyDown(event: KeyboardEvent): void; validate(control: AbstractControl): ValidationErrors | null; registerOnValidatorChange(fn: () => void): void; writeValue(value: D | null): void; registerOnChange(fn: (value: D) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; private formatUserPaste; private formatUserInput; private replaceSymbols; private replaceNumbers; /** Checks whether the input is invalid based on the native validation. */ private isBadInput; private spaceKeyHandler; private getNewValue; private verticalArrowKeyHandler; private fixEmptyDigit; private horizontalArrowKeyHandler; private createSelectionOfTimeComponentInInput; private incrementTime; private decrementTime; /** * @description Get params for arrow-keys (up/down) time value edit. * @param cursorPosition Current cursor position in timeString */ private getTimeEditMetrics; /** * @description Create time string for displaying inside input element of UI */ private getTimeStringFromDate; private getDateFromTimeString; private parseValidator; private minValidator; private maxValidator; private getValidDateOrNull; private setViewValue; private updateView; /** @docs-private */ updateErrorState(): void; private setControl; private validatorOnChange; private updateLocaleParams; static ɵfac: i0.ɵɵFactoryDeclaration, [null, null, { optional: true; }, { optional: true; }]>; static ɵdir: i0.ɵɵDirectiveDeclaration, "input[kbqTimepicker]", ["kbqTimepicker"], { "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "id": { "alias": "id"; "required": false; }; "required": { "alias": "required"; "required": false; }; "format": { "alias": "format"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "value": { "alias": "value"; "required": false; }; "kbqValidationTooltip": { "alias": "kbqValidationTooltip"; "required": false; }; }, { "incorrectInput": "incorrectInput"; }, never, never, true, never>; }