import { RegisterOptions } from 'react-hook-form';
import { AuthParams, FetchStateAndError, File, FilePayload, ID } from '@zeniai/client-epic-state';
import { AllowedFileType } from '../../common/inputFileElement/InputFileElement';
import { DisableMode } from '../common/common';
/**
 * Component & its Props
 */
export type SelectDocumentType = "driverLicense" | "passport" | "stateId" | "ssnCard" | "w9" | "w4" | "c1099" | "others" | "contract" | "purchaseOrder";
export interface Props {
    allFiles: File[];
    authParams: AuthParams;
    defaultValue: {
        allSelectDocumentType: SelectDocumentType[];
        files: {
            back?: File;
            fileId?: ID;
            front?: File;
        };
        defaultSelectDocumentType?: SelectDocumentType;
    };
    deleteFileStatusById: Record<ID, FetchStateAndError | undefined>;
    filesEndPoint: string;
    label: {
        width?: number;
    };
    name: string;
    officerIndex: number;
    updateFileStatusById: Record<ID, FetchStateAndError | undefined>;
    acceptableTypes?: AllowedFileType[];
    additionalInfoLabel?: string;
    allowFrontBack?: boolean;
    errorInfoLabel?: string;
    hasError?: boolean;
    isDisabled?: DisableMode;
    isWidthDynamic?: boolean;
    registerOptions?: RegisterOptions;
    showDeleteRowIcon?: boolean;
    sizeLimit?: number;
    style?: React.CSSProperties;
    onDeleteFile?: (fileId: ID) => void;
    onDeleteType?: (fileId?: ID) => void;
    onEditFileName?: (fileId: ID, name: string) => void;
    onFileSizeError?: (isError: boolean) => void;
    updateFilesEntity?: (files: FilePayload[]) => void;
}
export declare function DocumentUploadWithTypeField({ isDisabled, style, label, defaultValue, name, registerOptions, allFiles, additionalInfoLabel, errorInfoLabel, acceptableTypes, sizeLimit, officerIndex, filesEndPoint, authParams, deleteFileStatusById, updateFileStatusById, hasError, allowFrontBack, isWidthDynamic, showDeleteRowIcon, updateFilesEntity, onDeleteType, onDeleteFile, onEditFileName, onFileSizeError, }: Props): import("react/jsx-runtime").JSX.Element;
