import { useIMask } from 'react-imask';
import { TextFieldPropForm } from '../TextField';
import { DateRange } from '../../utils/types/Date';
import { DatePickerPropType } from './types';
export declare const datePickerPropSeparatorDefault = ".";
export declare const datePickerPropFormatTypeDate = "dd.MM.yyyy";
export declare const datePickerPropPlaceholderTypeDate = "\u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413";
export declare const datePickerPropFormatTypeTime = "HH:mm:ss";
export declare const datePickerPropPlaceholderTypeTime = "\u0427\u0427:\u041C\u041C:\u0421\u0421";
export declare const datePickerPropFormatTypeDateTime = "dd.MM.yyyy HH:mm:ss";
export declare const datePickerPropPlaceholderTypeDateTime = "\u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413 \u0427\u0427:\u041C\u041C:\u0421\u0421";
export declare const datePickerPropFormatTypeYear = "yyyy";
export declare const datePickerPropPlaceholderTypeYear = "\u0413\u0413\u0413\u0413";
export declare const datePickerPropFormatTypeMonth = "MM.yyyy";
export declare const datePickerPropPlaceholderTypeMonth = "MM.\u0413\u0413\u0413\u0413";
export declare const normalizeRangeValue: (dateRange: DateRange) => DateRange;
export declare const getMultiplicityTime: (format: string, multiplicityHours: number | undefined, multiplicityMinutes: number | undefined, multiplicitySeconds: number | undefined) => (number | undefined)[];
export declare const getTimeEnum: (length: number, multiplicity: number | undefined, startOfUnits: (date: Date) => Date, addUnits: (date: Date, amount: number) => Date, getItemLabel: (date: Date) => string) => string[];
export declare const getFormForStart: (form: TextFieldPropForm) => "default" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "round" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear";
export declare const getFormForEnd: (form: TextFieldPropForm) => "default" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "round" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear";
export declare const getPartDate: (formatArray: string[], stringArray: string[], marker: string) => string | undefined;
export declare const getParts: (format: string, separator: string, withTime?: boolean) => string[];
export declare const getPartsDate: (value: string, format: string, separator: string, withTime: boolean, markers: string[]) => (string | undefined)[];
export declare const isTypeWithTime: (type: DatePickerPropType) => boolean;
export declare const getFieldName: (name: [string?, string?] | string | undefined, rangeIndex: 0 | 1) => string | undefined;
export declare const getDropdownZIndex: (style?: React.CSSProperties) => number | undefined;
type DatePickerFieldTypeDatePropOnChange = (value: Date | null, props: {
    e: Event;
}) => void;
export declare const useStringValue: (value: Date | undefined | null, formatProp: string, separator: string, onChangeRef: React.MutableRefObject<DatePickerFieldTypeDatePropOnChange | undefined>, imaskProps: ReturnType<typeof useIMask<HTMLInputElement>>) => import("react").MouseEventHandler<HTMLButtonElement>;
export {};
