import type { InputHTMLAttributes } from 'react';
import type { InputBaseProps } from '../../../../scalars/components/types.js';
import type { IconName } from '../../../../index.js';
export interface FileInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange'>, InputBaseProps<File> {
    allowedFileTypes?: string[];
    maxFileSize?: number;
    dragAndDropEnabled?: boolean;
    onChange?: (file: File | null) => void;
    fileName?: string;
    mimeType?: string;
    fileSize?: number;
    progress?: number;
    onCancel?: (e: React.MouseEvent<HTMLButtonElement>) => void;
    onReload?: (e: React.MouseEvent<HTMLButtonElement>) => void;
    errorsUpload?: string[];
    status?: UploadFile;
    showPreview?: boolean;
    preview?: string;
}
export type UploadFile = 'idle' | 'uploading' | 'success' | 'error';
export declare const PREVIEW_STATUS: {
    readonly LOADING: "loading";
    readonly UNSUPPORTED_FILE: "unsupported_file";
    readonly CORRUPTED_FILE: "corrupted_file";
    readonly SUCCESS: "success";
};
export type PreviewStatus = 'idle' | 'loading' | 'success' | 'corrupted_file' | 'unsupported_file';
export interface StatusConfig {
    icon: IconName | undefined;
    title?: string;
    message?: string;
}
export type PreviewType = 'pdf' | 'image' | 'audio' | 'video';
//# sourceMappingURL=types.d.ts.map