import { LitElement, TemplateResult } from 'lit'; import { DropdownHost } from '@nuralyui/common/controllers'; import { TimeValue, TimeFormat, TimePickerConfig, TimePickerPlacement } from './timepicker.types.js'; export interface TimePickerHost extends LitElement, DropdownHost { getCurrentTime(): TimeValue; setTime(time: TimeValue): void; formatTime(time: TimeValue): string; parseTime(timeString: string): TimeValue | null; getConfig(): TimePickerConfig; validateTime(time: TimeValue): boolean; requestUpdate(): void; } declare const NrTimePickerElement_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin.js").LightDomContent) & typeof LitElement; /** * A comprehensive time picker component that supports both 12-hour and 24-hour formats, * with optional seconds display and extensive customization options. * * @example * ```html * * * ``` */ export declare class NrTimePickerElement extends NrTimePickerElement_base implements TimePickerHost { static useShadowDom: boolean; static styles: import("lit").CSSResult[]; value: string; name: string; placeholder: string; format: TimeFormat; showSeconds: boolean; disabled: boolean; readonly: boolean; required: boolean; minTime?: string; maxTime?: string; disabledTimes?: string[]; enabledTimes?: string[]; helperText: string; label: string; size: 'small' | 'medium' | 'large'; variant: 'outlined' | 'filled' | 'standard'; placement: TimePickerPlacement; /** Scroll behavior for dropdown navigation - 'instant' for immediate, 'smooth' for animated, 'auto' for browser default */ scrollBehavior: 'auto' | 'instant' | 'smooth'; private inputValue; private state; private validationMessage; private dropdownController; private selectionController; private validationController; private formattingController; constructor(); connectedCallback(): void; disconnectedCallback(): void; updated(changedProperties: Map): void; private setupDropdownElements; render(): TemplateResult; open(): void; close(): void; clear(): void; setToNow(): void; validate(): boolean; validateTime(time: TimeValue): boolean; private isHourValid; private isMinuteValid; private isSecondValid; private renderLabel; private renderInput; private renderDropdown; private renderColumnPicker; private renderHourColumn; private renderMinuteColumn; private renderSecondColumn; private renderActions; private renderHelperText; private scrollToSelectedTime; private scrollToSelectedHour; private scrollToSelectedMinute; private scrollToSelectedSecond; private getHourIndex; private handleComponentClick; private handleDocumentClick; private handleDropdownClick; private handleOkClick; private handleInputBlur; private handleInputClick; private handleInputChange; private handleHourSelect; private handleMinuteSelect; private handleSecondSelect; private shouldUpdateConstraints; private updateConstraints; private setTimeFromValue; private updateInputValue; getConfig(): TimePickerConfig; getCurrentTime(): TimeValue; setTime(time: TimeValue): void; formatTime(time: TimeValue): string; /** * Get appropriate placeholder text based on format */ private getFormatPlaceholder; parseTime(timeString: string): TimeValue | null; } declare global { interface HTMLElementTagNameMap { 'nr-timepicker': NrTimePickerElement; } } export {}; //# sourceMappingURL=timepicker.component.d.ts.map