/// <reference types="react" />
import { type FileUploaderNotify, type FileUploaderProps, type UploadFile } from '../../components/fileUploading/FileUploader';
import { type WithFormFieldProps } from '../types';
type BaseFileUploaderProps = Omit<FileUploaderProps, 'value' | 'isMultiple' | 'maxFileCount' | 'notify' | 'onChange'>;
type SingleFileUploaderProps = {
    isMultiple?: false;
    maxFileCount?: never;
} & BaseFileUploaderProps;
type MultipleFileUploaderProps = {
    /**
     * Если true, будет доступна множественная загрузка файлов
     */
    isMultiple: true;
    /**
     * Максимальное количество файлов
     */
    maxFileCount: number;
    /**
     * Объект с методами для отображения уведомлений
     * @remarks
     * Используется для показа системных уведомлений при загрузке файлов
     */
    notify: FileUploaderNotify;
} & BaseFileUploaderProps;
/**
 * Тип значения, которое сетится в state формы
 */
type FormSingleFileUploaderProps<TFieldValues extends object> = WithFormFieldProps<SingleFileUploaderProps, TFieldValues>;
type FormMultipleFileUploaderProps<TFieldValues extends object> = WithFormFieldProps<MultipleFileUploaderProps, TFieldValues>;
export type FormFileUploaderProps<TFieldValues extends object> = FormSingleFileUploaderProps<TFieldValues> | FormMultipleFileUploaderProps<TFieldValues>;
export type FormFileUploaderValue = UploadFile;
export declare const FormFileUploader: <TFieldValues extends object>(props: FormFileUploaderProps<TFieldValues> & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
export {};
