import type { IElementRef, OnCreate, OnDestroy } from '@melodicdev/core';
/**
 * ml-time-picker - Time input with dropdown selector
 *
 * @example
 * ```html
 * <ml-time-picker label="Start time" value="09:30"></ml-time-picker>
 * <ml-time-picker label="Meeting" use-12-hour value="14:00"></ml-time-picker>
 * <ml-time-picker label="Precise" step="1"></ml-time-picker>
 * ```
 *
 * @fires ml:change - Emitted when the time changes. Detail: { value: string }
 */
export declare class TimePickerComponent implements IElementRef, OnCreate, OnDestroy {
    elementRef: HTMLElement;
    /** Selected time in HH:mm or HH:mm:ss format */
    value: string;
    /** Placeholder text */
    placeholder: string;
    /** Field label */
    label: string;
    /** Hint text */
    hint: string;
    /** Error message */
    error: string;
    /** Input size */
    size: 'sm' | 'md' | 'lg';
    /** Disabled state */
    disabled: boolean;
    /** Required state */
    required: boolean;
    /** Minimum selectable time (HH:mm) */
    min: string;
    /** Maximum selectable time (HH:mm) */
    max: string;
    /** Step in minutes (default 15) for the preset list. Use 1 to show seconds spinner. */
    step: number;
    /** Use 12-hour format with AM/PM (default: true) */
    twelveHour: boolean;
    /** Whether the popover is open */
    isOpen: boolean;
    /** Current editing hour */
    editHour: number;
    /** Current editing minute */
    editMinute: number;
    /** Current editing second */
    editSecond: number;
    /** AM or PM when in 12-hour mode */
    editPeriod: 'AM' | 'PM';
    private _cleanupAutoUpdate;
    get use12Hour(): boolean;
    get showSeconds(): boolean;
    get displayValue(): string;
    get displayHour(): string;
    get displayMinute(): string;
    get displaySecond(): string;
    onCreate(): void;
    onDestroy(): void;
    togglePopover: () => void;
    incrementHour: () => void;
    decrementHour: () => void;
    incrementMinute: () => void;
    decrementMinute: () => void;
    incrementSecond: () => void;
    decrementSecond: () => void;
    togglePeriod: () => void;
    confirmSelection: () => void;
    handleNowClick: () => void;
    handleKeyDown: (event: KeyboardEvent) => void;
    handleHourInput: (event: Event) => void;
    handleMinuteInput: (event: Event) => void;
    handleSecondInput: (event: Event) => void;
    handleHourBlur: () => void;
    handleMinuteBlur: () => void;
    handleSecondBlur: () => void;
    handleInputFocus: (event: Event) => void;
    handleSpinnerKeyDown: (event: KeyboardEvent) => void;
    private to24Hour;
    private syncEditFromValue;
    private commitValue;
    private readonly _handleToggle;
    private closePopover;
    private startPositioning;
    private updatePosition;
    private returnFocus;
    private getTriggerEl;
    private getPopoverEl;
}
//# sourceMappingURL=time-picker.component.d.ts.map