import { AbstractControl, ControlValueAccessor, FormControl, ValidationErrors, Validator, ValidatorFn } from "@angular/forms"; import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, Renderer2, SimpleChanges } from "@angular/core"; import { NDropdownDirective } from "../dropdown/public_exports"; import { NControlsValidationErrors, NInputComponent, NInputErrorMessages } from "../public_components"; import { BehaviorSubject } from "rxjs"; export declare class NTimePickerAutocompleteItem { title: string; value: NTimePickerValue; } export declare class NTimePickerValue { readonly hours: number; readonly minutes: number; constructor(hours: number, minutes: number); /** * Creates instance from date */ static createFromDate(d: Date): NTimePickerValue; static parseNative(value: string): NTimePickerValue; /** * Modifiy specified date according this time */ applyTo(d: Date): void; greaterOrEquals(time: NTimePickerValue): boolean; toNativeValue(): string; } export declare class NTimePickerComponent implements ControlValueAccessor, Validator, OnInit, OnChanges { private el; private renderer; private cd; name: string; autocompleteItems: NTimePickerAutocompleteItem[]; minTime: NTimePickerValue; maxTime: NTimePickerValue; required: boolean; /** * Custom error message for input */ errorMessages: NInputErrorMessages; blur: EventEmitter; inputHoursElement: ElementRef; inputMinutesElement: ElementRef; inputError: NInputComponent; autocompleteDropdown: NDropdownDirective; nameHour: string; nameMin: string; inFocus: boolean; inputControlError: FormControl; inputControlMinutes: FormControl; inputControlHours: FormControl; inputNative: FormControl; isNative: boolean; isError: boolean; withValidation: boolean; private hourInFocus; private propagateChange; private propagateTouched; private propagateValidation; private lastModelValue; isEmpty$: BehaviorSubject; constructor(el: ElementRef, renderer: Renderer2, cd: ChangeDetectorRef); private _disabled; get disabled(): boolean; set disabled(val: boolean); set isDisabled(val: boolean); setDisabledState(isDisabled: boolean): void; focus(): void; setErrors(errors: NControlsValidationErrors): void; ngOnInit(): void; onBlur(hourField?: boolean): void; onFocus(hourField?: boolean): void; onErrorInputFocus(): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setTime(newTime: NTimePickerValue): void; writeValue(val: NTimePickerValue): void; ngOnChanges(changes: SimpleChanges): void; registerOnValidatorChange(fn: () => void): void; validate(control: AbstractControl): ValidationErrors | null; private hourChanged; private minuteChanged; private applyFromModel; private assignModelFromInputs; private assignModel; private invalidateStyles; private invalidateNativeStyles; private fillErrorInput; private setValidators; private refreshValidationState; } export declare function pad(n: number): string; export declare function getMinTimeNativeValidator(minTime: NTimePickerValue): ValidatorFn; export declare function getMaxTimeNativeValidator(maxTime: NTimePickerValue): ValidatorFn;