/**
 * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
 * SPDX-License-Identifier: BSD-3-Clause
 */
import { InternalDispatch } from '@clayui/shared';
import React from 'react';
declare type ConfigMaxMin = {
    max: number;
    min: number;
};
declare type ConfigAmpm = {
    am: string;
    pm: string;
};
declare type Config = {
    ampm: ConfigAmpm;
    hours: ConfigMaxMin;
    minutes: ConfigMaxMin;
};
export declare type InputAmPm = '--' | 'AM' | 'PM';
export declare type Input = {
    ampm?: InputAmPm;
    hours: '--' | string;
    minutes: '--' | string;
};
interface IProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {
    /**
     * Add the labels for the input elements and the input clear button,
     * use this to provide accessibility and internationalization.
     * By default the text is in English.
     */
    ariaLabels?: {
        ampm: string;
        hours: string;
        minutes: string;
        clear: string;
        timeDown: string;
        timeUp: string;
    };
    /**
     * Range settings for 12 or 24 hours.
     */
    config?: {
        use12Hours: Config;
        use24Hours: Config;
    };
    /**
     * Flag to disable user interactions on the component.
     */
    disabled?: boolean;
    /**
     * Property to set the default value (uncontrolled).
     */
    defaultValue?: Input;
    /**
     * Flag to indicate if show time icon or not.
     */
    icon?: boolean;
    /**
     * Called when input values change hour, minutes or ampm (controlled).
     */
    onChange?: InternalDispatch<Input>;
    /**
     * Called when input values change hour, minutes or ampm (controlled).
     * @deprecated since v3.52.0 - use `onChange` instead.
     */
    onInputChange?: InternalDispatch<Input>;
    /**
     * Name attribute for the hidden input (used for form submission).
     */
    name?: string;
    /**
     * The path to the SVG spritemap file containing the icons.
     */
    spritemap?: string;
    /**
     * Flag to indicate the timezone of the user.
     */
    timezone?: string;
    /**
     * Flag to indicate if 12-hour use, when true, should show am/pm input.
     */
    use12Hours?: boolean;
    /**
     * Sets the values for the hour, minute, or am/pm input (controlled).
     * @deprecated since v3.52.0 - use `value` instead.
     */
    values?: Input;
    /**
     * Sets the values for the hour, minute, or am/pm input (controlled).
     */
    value?: Input;
}
declare const ClayTimePicker: React.FunctionComponent<IProps>;
export default ClayTimePicker;
