import { IconComponent, IconPropSize } from '@consta/icons/Icon';
import React from 'react';
import { TextFieldPropForm, TextFieldPropSize, TextFieldPropStatus, TextFieldPropView } from '../../TextField';
import { PropsWithHTMLAttributes } from '../../../utils/types/PropsWithHTMLAttributes';
import { DatePickerPropOnError } from '../types';
type DatePickerFieldTypeTimePropOnChange = (value: Date | null, props: {
    e: Event;
}) => void;
export type DatePickerFieldTypeTimeProps = PropsWithHTMLAttributes<{
    className?: string;
    value?: Date | null;
    onChange?: DatePickerFieldTypeTimePropOnChange;
    onError?: DatePickerPropOnError;
    id?: string;
    name?: string;
    disabled?: boolean;
    size?: TextFieldPropSize;
    view?: TextFieldPropView;
    form?: TextFieldPropForm;
    status?: TextFieldPropStatus;
    onFocus?: React.FocusEventHandler<HTMLElement>;
    onBlur?: React.FocusEventHandler<HTMLElement>;
    autoFocus?: boolean;
    placeholder?: string;
    leftSide?: string | IconComponent;
    rightSide?: string | IconComponent;
    readOnly?: boolean;
    required?: boolean;
    tabIndex?: number;
    inputRef?: React.Ref<HTMLTextAreaElement | HTMLInputElement>;
    ariaLabel?: string;
    iconSize?: IconPropSize;
    children?: never;
    format?: string;
    separator?: string;
    minDate?: Date;
    maxDate?: Date;
    focused?: boolean;
    multiplicitySeconds?: number;
    multiplicityMinutes?: number;
    multiplicityHours?: number;
    label?: string;
    labelIcon?: IconComponent;
    caption?: string;
    labelPosition?: 'top' | 'left';
    withClearButton?: boolean;
}, HTMLDivElement>;
type UsePickerProps = {
    value?: Date | null;
    onChange?: DatePickerFieldTypeTimePropOnChange;
    onError?: DatePickerPropOnError;
    multiplicityHours: number | undefined;
    multiplicitySeconds: number | undefined;
    multiplicityMinutes: number | undefined;
    format: string;
    separator: string;
    minDate: Date;
    maxDate: Date;
};
export declare const usePicker: (props: UsePickerProps) => readonly [React.MutableRefObject<HTMLInputElement | null>, React.MouseEventHandler<HTMLButtonElement>];
export {};
