import { EventEmitter } from '../../stencil.core';
import { ValidatorResponse } from '../../types/types';
import { InputController } from '../input/default-input-controller';
export declare class TimePicker implements InputController {
    private clock;
    private clockListener;
    private strategy;
    private input;
    private overlay;
    private overlayListener;
    private toggleClickListener;
    private validator;
    /**
     * This element in HTMLElement representation
     */
    element: HTMLElement;
    /**
     * @internal
     * Fed by anj-locale
     */
    locale: string;
    language: string;
    injectedPropWatcher(): void;
    /**
     * The time picker id
     */
    inputId: string;
    /**
     * Bool to display time in meridiem or military
     */
    meridiem: boolean;
    /**
     * Enforce max time for selection
     */
    max: string;
    /**
     * Enforce min time for selection
     */
    min: string;
    /**
     * How to align the overlay when it opens.
     * Options are `"bottom-end"` or `"bottom-start"` which is the default.
     */
    placement: 'bottom-start' | 'bottom-end';
    /**
     * Timezone string to display next to the time on the input
     */
    timezone: string;
    /**
     * the value of the time
     */
    value?: any | null;
    valueHandler(newValue: string, oldValue: string): void;
    /**
     * Fires when that value is updated
     */
    anjClockSelection: EventEmitter;
    /**
     * Fires when the control has loaded
     */
    anjInputControlDidLoad: EventEmitter<void>;
    connectedCallback(): void;
    componentDidLoad(): void;
    disconnectedCallback(): void;
    /**
     * open the time picker
     */
    open(): Promise<void>;
    /**
     * close the time picker
     */
    close(): Promise<void>;
    /**
     * formatter, passed to anj-input, currently a pass-through
     */
    inputFormatter(inputValue: string): Promise<string>;
    /**
     * comparator, passed to anj-input, which compares two time strings for parity
     */
    hasValueChanged(newVal: any, oldVal: any): Promise<boolean>;
    innerValue(): Promise<any>;
    remoteCustomValidator(valueString: string): Promise<ValidatorResponse>;
    private assignStrategy;
    private configureValidationParameters;
    private connectToggle;
    private setCustomValidator;
    private setValues;
    private updateCustomValidity;
    private updateInputValue;
    private valueChangeHandler;
    private bindOverlay;
    private bindClock;
    render(): any;
}
