import { EventEmitter } from '../../stencil-public-runtime'; import type { TimePickerCorners, TimePickerDescriptorUnit } from './time-picker.types'; declare const TimePicker_base: abstract new (...args: any[]) => { componentDidLoad(): void; disconnectedCallback(): void; hostElement?: import("@stencil/core/internal").HTMLStencilElement; connectedCallback?(): void; componentWillRender?(): Promise | void; componentDidRender?(): void; componentWillLoad?(): Promise | void; componentShouldUpdate?(newVal: any, oldVal: any, propName: string): boolean | void; componentWillUpdate?(): Promise | void; componentDidUpdate?(): void; render?(): any; } & import("../utils/internal/component").StencilLifecycle; export declare class TimePicker extends TimePicker_base { 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; private warnIfConstraintTimeInvalid; private warnIfConstraintRangeInverted; private warnConstraintTimesIfInvalid; /** * Selected time value. * Format has to match the `format` property. */ time?: string; watchTimePropHandler(newValue: string | undefined): void; /** Earliest selectable time (`format` tokens). Invalid non-empty values are ignored. * * @since 5.0.0 */ minTime?: string; /** Latest selectable time (`format` tokens). Invalid non-empty values are ignored. * * @since 5.0.0 */ maxTime?: string; watchMinTimePropHandler(): void; watchMaxTimePropHandler(): 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 setInitialFocusedValueAndUnit; private setupVisibilityObserver; private mutationObserverCallback; private areElementsRendered; private getFormattedTime; private changeTimeReference; /** `_time` or “now” (constraints, AM/PM, confirm). */ private referenceOrNow; private setTimeRef; private getConstraintBounds; /** Bounds and `selectionBase` from {@link referenceOrNow}. */ private getUnitSelectionContext; private isWithinTimeConstraints; private canSelectUnitValue; private isSelectableForUnitWithinBounds; /** Provisional `unit` for cross-column base: roving cell, earlier descriptors, else displayed digits. */ private getProvisionalRawValue; /** Base time for `canSelect`/`select` on `targetUnit`: committed hour; mid-columns via {@link getProvisionalRawValue}. */ private buildCandidateBaseBeforeUnit; private getConstrainedFocusedValueForUnitWithBase; private getConstrainedFocusedValueForUnit; private resolvePreservedFocusedValueOnColumnBlur; private syncKeyboardFocusWithConstraints; private findFirstSelectableInUnit; private getColumnTabStopValue; private stepFocusedValue; private isConfirmDisabled; private setTimePickerDescriptors; private getNumberArrayForUnit; private isSelected; /** Roving tabindex: one tab stop per column; active column only the focused cell has `tabindex=0`. */ private getUnitCellTabIndex; 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; render(): any; } export {};