import { RegisterOptions } from 'react-hook-form';
import { AccountType, AuthParams, FetchStateAndError, File as FileEntity, FileMetadataPayload, FilePayload, ID, MonthYearPeriod, UploadStatementDocumentAIPayload } from '@zeniai/client-epic-state';
import { AllowedFileType, AllowedImageFileType } from './inputFileElement/InputFileElement';
export interface CompanyOfficerName {
    firstName: string;
    lastName: string;
}
export declare const FileElementWithPhotoPicker: ({ name, companyOfficerName, deleteFileStatusById, updateFileStatusById, filesEndPoint, authParams, filemetadataPayload, file, officerIndex, registerOptions, shouldDisplay, acceptableTypes, supportedImageFileFormat, isDisabled, placeholderText, sizeLimit, hasError, showPhotoPicker, errorInfoLabel, useMobileCam, showUploadSuccessAnimation, showWebCamPopUpCloseIcon, compressImage, autoOpenFilePicker, simulateUploading, updateFilesEntity, onDeleteFile, onEditFileName, onClick, onFileSizeError, openPopup, accountStatementUpload, }: {
    authParams: AuthParams;
    deleteFileStatusById: Record<ID, FetchStateAndError | undefined>;
    filesEndPoint: string;
    name: string;
    updateFileStatusById: Record<ID, FetchStateAndError | undefined>;
    acceptableTypes?: AllowedFileType[];
    accountStatementUpload?: {
        metadataPayload: {
            accountId: ID;
            accountType: AccountType;
            monthYearPeriod: MonthYearPeriod;
        };
        errorMessage?: string;
        onUploadError: (error: Error | undefined) => void;
        onUploadStart: () => void;
        onUploadSuccess: (statementUploadPayload: UploadStatementDocumentAIPayload) => void;
        onUploadWindowOpenedOnce: () => void;
        uploadHelper: (accountType: AccountType, fileToUpload: File, authParams: AuthParams) => Promise<UploadStatementDocumentAIPayload | undefined>;
    };
    autoOpenFilePicker?: boolean;
    companyOfficerName?: CompanyOfficerName;
    compressImage?: boolean;
    errorInfoLabel?: string;
    file?: FileEntity;
    filemetadataPayload?: FileMetadataPayload;
    hasError?: boolean;
    isDisabled?: boolean;
    officerIndex?: number;
    placeholderText?: string;
    registerOptions?: RegisterOptions;
    shouldDisplay?: boolean;
    showPhotoPicker?: boolean;
    showUploadSuccessAnimation?: boolean;
    showWebCamPopUpCloseIcon?: boolean;
    /** When true, initial render shows the uploading progress row (for Storybook / visual tests). */
    simulateUploading?: boolean;
    sizeLimit?: number;
    supportedImageFileFormat?: AllowedImageFileType;
    useMobileCam?: boolean;
    onClick?: () => void;
    onDeleteFile?: (fileId: ID) => void;
    onEditFileName?: (fileId: ID, name: string) => void;
    onFileSizeError?: (isError: boolean) => void;
    openPopup?: (isPhotoPopUpOpen: boolean) => void;
    updateFilesEntity?: (files: FilePayload[]) => void;
}) => import("react/jsx-runtime").JSX.Element;
