import { PropertyValues } from 'lit';
import { Ref } from 'lit/directives/ref.js';
import { PktInputElement } from '../../base-elements/input-element';
import { ElementProps } from '../../types/typeUtils';
type Props = ElementProps<PktTimepicker, 'value' | 'hidePicker' | 'stepArrows'>;
export interface IPktTimepicker {
    value?: string;
    min?: string;
    max?: string;
    step?: number;
    name?: string;
    id?: string;
    disabled?: boolean;
    required?: boolean;
    hidePicker?: boolean;
    stepArrows?: boolean;
    fullwidth?: boolean;
    label?: string | null;
    helptext?: string;
    helptextDropdown?: string;
    helptextDropdownButton?: string | null;
    hasError?: boolean;
    errorMessage?: string;
    requiredTag?: boolean;
    requiredText?: string;
    optionalTag?: boolean;
    optionalText?: string;
    tagText?: string | null;
    inline?: boolean;
}
export declare class PktTimepicker extends PktInputElement<Props> {
    hiddenInputRef: Ref<HTMLInputElement>;
    hoursInputRef: Ref<HTMLInputElement>;
    minutesInputRef: Ref<HTMLInputElement>;
    buttonRef: Ref<HTMLButtonElement>;
    /**
     * Exposes hiddenInputRef as inputRef so the base class validate() method
     * triggers our manageValidity override automatically after every onChange call.
     * The hidden input itself is never used for reporting — see manageValidity below.
     */
    get inputRef(): Ref<HTMLInputElement>;
    /**
     * Overrides the base class manageValidity to solve a focusability problem:
     * the browser requires the third argument to setValidity (the "anchor") to be
     * a visible, focusable element — it focuses that element when navigating to an
     * invalid field. Our hidden input[type=time] cannot receive focus, so passing it
     * as the anchor would silently fail with "form control is not focusable".
     */
    protected manageValidity(_input?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement): void;
    value: string;
    hidePicker: boolean;
    stepArrows: boolean;
    private _hours;
    private _minutes;
    private _isOpen;
    private _hoursDigitCount;
    private _hoursFirstDigit;
    private _minutesDigitCount;
    private _minutesFirstDigit;
    private _hasFocus;
    private _setAriaInvalid;
    private _outsideClickHandler;
    private _handleComponentFocusIn;
    private _handleComponentFocusOut;
    connectedCallback(): void;
    disconnectedCallback(): void;
    protected willUpdate(changedProperties: PropertyValues): void;
    protected updated(changedProperties: PropertyValues): void;
    protected formResetCallback(): void;
    private _isValidStep;
    private _syncDisplayFromValue;
    private _syncValueFromDisplay;
    private get _minuteStep();
    private get _hourOptions();
    private get _minuteOptions();
    private _openPopup;
    private _closePopup;
    private _togglePopup;
    private _scrollToSelected;
    private _focusSelectedOrFirst;
    private _handleHoursKeydown;
    private _handleHoursBlur;
    private _handleMinutesKeydown;
    private _handleMinutesBlur;
    private _handleOptionClick;
    private _focusOptionAndSync;
    private _handlePopupKeydown;
    private _stepTime;
    private _renderOption;
    private _renderPopup;
    private _renderContainer;
    render(): import('lit-html').TemplateResult<1>;
}
export {};
