import { TimePickerOptions, TimePickerState } from './time-picker.types'; /** * Headless time picker. Owns hour/minute inputs and an optional AM/PM toggle, * commits a 24h `HH:MM` value on confirm and reflects open state via * `data-state`. Positioning via floating-ui; no visual styling in JS. * * Markup: * ```html *
* *
* * * * * *
*
* ``` */ export declare class TimePicker { private readonly root; private readonly trigger; private readonly panel; private readonly valueEl; private readonly hourInput; private readonly minuteInput; private readonly periodBtn; private readonly confirmBtn; private readonly cancelBtn; private readonly format; private readonly minuteStep; private readonly placeholder; private readonly closeOnConfirm; private readonly placement; private readonly offset; private selected; private period; private open; private stopAutoUpdate; private cleanups; constructor(root: HTMLElement, options?: TimePickerOptions); private init; /** Strip non-digits and clamp the field to its max as the user types. */ private sanitize; private renderLabel; private formatDisplay; /** Populate the inputs/period from the current selection (or now). */ private syncInputs; private nowParsed; private togglePeriod; private renderPeriod; /** Read the inputs into a normalized 24h Parsed value. */ private readInputs; confirm(): void; cancel(): void; private emitChange; private onOutside; toggle(): void; openPanel(): void; close(): void; /** Programmatically set the time (24h `HH:MM`). */ setValue(value: string | null): void; clear(): void; private position; get value(): string | null; get isOpen(): boolean; getState(): TimePickerState; on(event: string, handler: (event: E) => void): () => void; destroy(): void; }