import type { NsTranslationKey } from '../../../../../types';
import type { FileSchema } from '../../../../types/file';
import type { FileValidationOptions } from './validate';
export interface DropzoneProps extends Partial<FileValidationOptions> {
    name: string;
    label?: string;
    ref?: any;
    data?: any[];
    defaultData?: any;
    multiple?: boolean;
    disabled?: boolean;
    required?: boolean;
    onChange?: (files: File[]) => void;
    id?: string;
    iconPrefix?: string;
    shouldValidate?: boolean;
    showMinimal?: boolean;
    hidePageCount?: boolean;
    errors?: any;
    fieldValidationErrors?: any;
    valid?: any;
    handleFieldChange?: any;
    enableTracking?: boolean;
    extraDropzoneDescription?: string;
}
export type DropzoneInnerContentProps = Pick<DropzoneProps, 'multiple' | 'disabled' | 'showMinimal' | 'hidePageCount' | 'extraDropzoneDescription'> & Pick<FileValidationOptions, 'maxSize' | 'maxNumberOfFiles'> & {
    allowedFiletypes: string;
    selectFile: () => void;
};
export interface DropzoneFileProps {
    file: FileSchema;
    errorMessage?: NsTranslationKey<'common'>;
    onDelete: () => void;
    iconPrefix?: string;
    loading?: boolean;
}
