import { EventEmitter } from '../../stencil-public-runtime';
import { ITextField } from '../text-field/text-field.types';
import { ETimePickerView } from './time-picker.types';
import { ComputePositionConfig } from '@floating-ui/dom';
import { ETooltipPosition, ITimezoneOffset } from '../../types';
import { IRelativeTimePickerOption } from '../relative-time-picker/relative-time-picker.types';
import { ITimePicker, ITimePickerEvents, ITimePickerTimeState, ITimePickerTime } from './time-picker.types';
export declare class KvTimePicker implements ITimePicker, ITimePickerEvents {
    /** @inheritdoc */
    inputConfig?: Partial<ITextField>;
    /** @inheritdoc */
    dropdownPositionOptions?: Partial<ComputePositionConfig>;
    /** @inheritdoc */
    disabled?: boolean;
    /** @inheritdoc */
    showCalendar?: boolean;
    /** @inheritdoc */
    selectedTimeOption?: ITimePickerTimeState | ITimePickerTime;
    /** @inheritdoc */
    relativeTimePickerOptions?: IRelativeTimePickerOption[][];
    /** @inheritdoc */
    timezones?: ITimezoneOffset[];
    /** @inheritdoc */
    disableTimezoneSelection?: boolean;
    /** @inheritdoc */
    displayCustomizeInterval?: boolean;
    /** @inheritdoc */
    displayTimezoneDropdown?: boolean;
    /** @inheritdoc */
    calendarInputMinDate?: number;
    /** @inheritdoc */
    calendarInputMaxDate?: number;
    /** @inheritdoc */
    zIndex?: number;
    /** @inheritdoc */
    tooltipPosition?: ETooltipPosition;
    timePickerView: ETimePickerView;
    selectedTimeState: ITimePickerTimeState;
    dropdownOpen: boolean;
    applyButtontooltipText: string;
    calendarViewLocked: boolean;
    timezoneSelectionContentVisible: boolean;
    internalDropdownsOpen: boolean;
    /** @inheritdoc */
    timeRangeChange: EventEmitter<ITimePickerTime>;
    /** @inheritdoc */
    dropdownStateChange: EventEmitter<boolean>;
    /** @inheritdoc */
    cancelClicked: EventEmitter<CustomEvent<MouseEvent>>;
    /** @inheritdoc */
    showCalendarStateChange: EventEmitter<boolean>;
    handleSelectTimeStateChange(timeState: ITimePickerTimeState | ITimePickerTime): void;
    handleShowCalendarChange(value: boolean): void;
    componentWillLoad(): void;
    private syncShowCalendarViewState;
    private syncTimeStateWithTimeOption;
    private resetDefaultSelectedTimeState;
    private getSelectedTimezone;
    private onDropdownChange;
    private onSelectedRelativeTimeChange;
    private onClickSeeCustomInterval;
    private onSelectedTimezoneChange;
    private onClickApply;
    private onClickBack;
    private onClickCancel;
    private undoLastChanges;
    private onShowCalendarClick;
    private getRelativeTimeInputConfig;
    private handleRelativeTimeConfigReset;
    private handleAbsoluteDatesChange;
    private displayInputWrapperContent;
    private getCalendarLimitDatesFormatted;
    private isApplyButtonDisabled;
    private updateApplyButtonConfig;
    private getDropdownInputValue;
    private getTextFieldTooltip;
    private getFormattedSelectedTime;
    private getInputConfig;
    /**
     * Returns the apply button tooltip helptext
     * @returns apply button help text
     */
    private getApplyButtonTooltipText;
    /**
     * Transforms the timestamp into absolute-time-picker dates in the format: YYYY/MM/DD HH:mm:ss
     * @returns formatted dates to the absolute time picker component
     */
    private getAbsoluteRange;
    private onInternalDropdownsStateChange;
    render(): any;
}
