import { RegisterOptions } from 'react-hook-form';
import { AuthParams, FetchStateAndError, File, FileMetadataPayload, FilePayload, ID } from '@zeniai/client-epic-state';
import { AllowedFileType } from '../../common/inputFileElement/InputFileElement';
import { DisableMode } from '../common/common';
/**
 * Component & its Props
 */
export interface Props {
    authParams: AuthParams;
    deleteFileStatusById: Record<ID, FetchStateAndError | undefined>;
    filemetadataPayload: FileMetadataPayload;
    filesEndPoint: string;
    label: {
        label: string;
        style?: React.CSSProperties;
        width?: number;
    };
    name: string;
    updateFileStatusById: Record<ID, FetchStateAndError | undefined>;
    acceptableTypes?: AllowedFileType[];
    additionalInfoLabel?: string;
    errorInfoLabel?: string;
    file?: File;
    formatHintIsError?: boolean;
    formatHintLabel?: string;
    hasError?: boolean;
    isDisabled?: DisableMode;
    isOptional?: boolean;
    /**
     * When true, renders an "AI is reading your document" shimmer overlay beneath
     * the upload row. Driven by `parsingDocumentFileIds` containing this field's
     * fileId(s); cleared when the parse epic dispatches the apply/failure action.
     */
    isParsing?: boolean;
    placeholderText?: string;
    registerOptions?: RegisterOptions;
    showFormatHintLabel?: boolean;
    showPhotoPicker?: boolean;
    showUploadSuccessAnimation?: boolean;
    showWebCamPopUpCloseIcon?: boolean;
    /** When true, initial render shows the uploading progress row (for Storybook / visual tests). */
    simulateUploading?: boolean;
    sizeLimit?: number;
    style?: React.CSSProperties;
    useMobileCam?: boolean;
    onDeleteFile?: (fileId: ID) => void;
    onEditFileName?: (fileId: ID, name: string) => void;
    onFileSizeError?: (isError: boolean) => void;
    updateFilesEntity?: (files: FilePayload[]) => void;
}
export declare function LabeledDocumentField({ label, isDisabled, isOptional, style, file, name, registerOptions, additionalInfoLabel, errorInfoLabel, acceptableTypes, sizeLimit, filemetadataPayload, deleteFileStatusById, updateFileStatusById, filesEndPoint, authParams, hasError, placeholderText, showPhotoPicker, useMobileCam, showUploadSuccessAnimation, showWebCamPopUpCloseIcon, simulateUploading, updateFilesEntity, onDeleteFile, onEditFileName, onFileSizeError, showFormatHintLabel, formatHintLabel, formatHintIsError, isParsing, }: Props): import("react/jsx-runtime").JSX.Element;
