import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnInit, QueryList, SimpleChanges } from '@angular/core'; import { ControlValueAccessor, FormControl, FormGroup } from '@angular/forms'; import { BooleanInput } from '@angular/cdk/coercion'; import { DateTimeFormatOptions, DayPeriod, ITimeValue } from './gtr-time.utils'; import { GtrTemplateIdDirective } from '../shared'; import * as i0 from "@angular/core"; export declare class GtrTimePickerComponent implements OnChanges, OnInit, ControlValueAccessor, AfterViewInit { constructor(); static ngAcceptInputType_cleaner: BooleanInput; static ngAcceptInputType_disabled: BooleanInput; static ngAcceptInputType_indicator: BooleanInput; static ngAcceptInputType_inputReadOnly: BooleanInput; static ngAcceptInputType_seconds: BooleanInput; static ngAcceptInputType_visible: BooleanInput; /** * Toggle visibility or set the content of the cleaner button. * @type boolean * @default true */ set cleaner(value: boolean); get cleaner(): boolean; private _cleaner; /** * Sets DateTime format options including timeZone * @type DateTimeFormatOptions * @default {} * @note The date object doesn't store timeZone, it keeps the local timezone of the browser, regardless if you parsed UTC dates. */ dateTimeFormatOptions: DateTimeFormatOptions; /** * Toggle the disabled state for the component. * @type boolean * @default false */ set disabled(value: boolean); get disabled(): boolean; private _disabled; /** * Filter available hours to pick. * @type (value: number) => boolean; * @default undefined */ filterHours?: (value: number) => boolean; /** * Filter available minutes to pick. * @type (value: number) => boolean; * @default undefined */ filterMinutes?: (value: number) => boolean; /** * Filter available seconds to pick. * @type (value: number) => boolean; * @default undefined */ filterSeconds?: (value: number) => boolean; /** * Toggle visibility or set the content of the input indicator. * @type boolean * @default true */ set indicator(value: boolean); get indicator(): boolean; private _indicator; /** * Toggle the readonly state for the component. * @type boolean * @default false */ set inputReadOnly(value: boolean); get inputReadOnly(): boolean; private _inputReadOnly; /** * Sets the default locale for components. If not set, it is inherited from the browser. * @type string * @default default */ locale: string; /** * Specifies short hint visible in time input. * @type string * @default 'Select time' */ placeholder: string; /** * Toggle seconds visibility. * @type boolean * @default false */ set seconds(value: boolean); get seconds(): boolean; private _seconds; /** * Size the component small or large. * @type 'sm' | 'lg' | undefined * @default undefined */ size?: 'sm' | 'lg'; /** * Initial selected time. * @type Date | string | null | number * @default undefined */ set time(value: Date | string | undefined); get time(): Date | undefined; private _time?; private _timeInternal?; /** * Set the time picker variant to a roll or select. * @type 'roll' | 'select' * @default 'roll' */ variant: 'roll' | 'select'; /** * Toggle visual validation feedback. * @type boolean | undefined * @default undefined */ valid?: boolean; /** * Toggle the visibility of dropdown timepicker menu component. * @type boolean * @default false */ set visible(value: boolean); get visible(): boolean; private _visible; timeChange: EventEmitter; onBlur(): void; dropdownRef: ElementRef; templates: any; contentTemplates: QueryList; listOfHours: ITimeValue[]; listOfHours12: ITimeValue[]; listOfMinutes: ITimeValue[]; listOfSeconds: ITimeValue[]; hour12: boolean; dayPeriods: { value: string; label: string; }[]; set timeInputValue(value: string); get timeInputValue(): string; private _timeInputValue; get timePickerClasses(): { 'form-control': boolean; 'is-valid': boolean; 'is-invalid': boolean; }; selectTime: FormGroup<{ selectHours: FormControl; selectMinutes: FormControl; selectSeconds?: FormControl; selectDayPeriod?: FormControl<"am" | "pm" | null>; }>; timeInput: FormControl; set hour(value: number); get hour(): number; private _hour; set minute(value: number); get minute(): number; private _minute; set second(value: number); get second(): number; private _second; set dayPeriod(value: DayPeriod); get dayPeriod(): DayPeriod; private _dayPeriod; setTime(): void; clearTime(): void; emitTime(time: Date | undefined): void; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; setTimeLists(): void; updateSelectTime(time?: Date | undefined): void; closestTime(timeArray: ITimeValue[], timeSegment: number): ITimeValue; listOfTimeSegments(getListOfTimeSegments: (locale: string, dateTimeFormatOptions: DateTimeFormatOptions) => ITimeValue[], filterTimeSegments: ((timeSegmentValue: number) => boolean) | undefined): ITimeValue[]; handleSelectDayPeriodChange(dayPeriod: DayPeriod): void; handleSelectHoursChange(hour: number): void; handleSelectMinutesChange(minute: number): void; handleSelectSecondsChange(second: number): void; patchSelectTimeValues(): void; trackByHour(index: number, hour: ITimeValue): ITimeValue; onChange: (value: Date | undefined) => void; onTouched: () => void; writeValue(value: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; handleTimeInputChange($event: any): void; handleClear($event: MouseEvent): void; handleBlur($event: FocusEvent): void; handleFocus($event: FocusEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }