import { EventEmitter } from '../../stencil-public-runtime'; import type { TimePickerCorners } from './time-picker.types'; type TimePickerDescriptorUnit = 'hour' | 'minute' | 'second' | 'millisecond'; export declare class TimePicker { hostElement: HTMLIxTimePickerElement; /** * Format of time string. * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens. * Note: Formats that combine date and time (like f or F) are not supported. Timestamp tokens x and X are not supported either. */ format: string; watchFormatIntervalPropHandler(newValue: string): void; /** * Corner style. */ corners: TimePickerCorners; /** * Embedded style (for use in other components). */ embedded: boolean; /** * @internal Temporary prop needed until datetime-picker is reworked for new design. */ dateTimePickerAppearance: boolean; /** * Hides the header of the picker. * * @since 3.2.0 */ hideHeader: boolean; /** * Interval for hour selection. * * @since 3.2.0 */ hourInterval: number; watchHourIntervalPropHandler(newValue: number): void; /** * Interval for minute selection. * * @since 3.2.0 */ minuteInterval: number; watchMinuteIntervalPropHandler(newValue: number): void; /** * Interval for second selection. * * @since 3.2.0 */ secondInterval: number; watchSecondIntervalPropHandler(newValue: number): void; /** * Interval for millisecond selection. * * @since 3.2.0 */ millisecondInterval: number; watchMillisecondIntervalPropHandler(newValue: number): void; private printIntervalError; /** * Selected time value. * Format has to match the `format` property. */ time?: string; watchTimePropHandler(newValue: string): void; /** * Get default time value * @returns DateTime.now() for empty state (no selection) */ private getDefaultTime; /** * Text of the time confirm button. */ i18nConfirmTime: string; /** * Text for the top header. */ i18nHeader: string; /** * Text for the hour column header. */ i18nHourColumnHeader: string; /** * Text for the minute column header. */ i18nMinuteColumnHeader: string; /** * Text for the second column header. */ i18nSecondColumnHeader: string; /** * Text for the millisecond column header. */ i18nMillisecondColumnHeader: string; /** * Time event. Emitted when the user confirms the selected time. */ timeSelect: EventEmitter; /** * Time change event. Emitted when the selected time changes while interacting with the picker. */ timeChange: EventEmitter; /** * Get the current time based on the wanted format */ getCurrentTime(): Promise; private _time?; onTimeChange(): void; private timeRef?; private formattedTime; private timePickerDescriptors; private isUnitFocused; private focusedUnit; private focusedValue; private visibilityObserver?; private focusScrollAlignment; componentWillLoad(): void; private initPicker; componentDidLoad(): void; componentDidRender(): void; disconnectedCallback(): void; handleKeyDown(event: KeyboardEvent): void; onUnitCellBlur(unit: TimePickerDescriptorUnit, event: FocusEvent): void; onUnitCellFocus(unit: TimePickerDescriptorUnit, value: number): void; private getElementList; private getElementContainer; private isElementVisible; private scrollElementIntoView; private updateFocusedValue; private setInitialFocusedValueAndUnit; private setupVisibilityObserver; private mutationObserverCallback; private areElementsRendered; private getFormattedTime; private timeUpdate; private changeTimeReference; private isFormat12Hour; private setTimeRef; private getInitialFocusedValueForUnit; private setTimePickerDescriptors; private getNumberArrayForUnit; private isSelected; private select; private updateDescriptorFocusedValue; private elementListScrollToTop; /** * Updates all scroll positions of the time picker elements * Updates only the elements that have changed if `formattedTimeOld` is provided */ private updateScrollPositions; private formatUnitValue; private getColumnSeparator; private getElementContainerTabIndex; render(): any; } export {};