import { ImageMime, ReadImageError, ReadImageResult, ReadMode } from "@ryuzaki13/react-foundation-lib/file";
import { UiBaseProps } from "../types";
/**
 * Пропсы компонента InputImage.
 *
 * Компонент предназначен для выбора одного изображения.
 * Внешний вид идентичен InputText.
 *
 * Под капотом использует readImageFile, который:
 * - Проверяет что файл является изображением (image/*)
 * - Валидирует MIME-тип по списку allowedMime
 * - В режиме "data-url" автоматически извлекает размеры изображения (dimensions)
 */
export interface InputImageProps extends UiBaseProps<ReadImageResult, ReadImageResult | undefined> {
    /** Callback очистки выбранного изображения. Если передан — отображается кнопка «крестик» */
    onClear?: () => void;
    /** Callback ошибки чтения (невалидный формат, не изображение, превышение размера и т.д.) */
    onReadError?: (error: ReadImageError) => void;
    /** Допустимые MIME-типы изображений — передаётся в readImageFile */
    allowedMime?: readonly ImageMime[];
    /** Максимальный размер файла в байтах — передаётся в readImageFile */
    maxBytes?: number;
    /** Режим чтения: "data-url" (по умолчанию, с извлечением dimensions) или "array-buffer" */
    readMode?: ReadMode;
    /** Текст ошибки под полем */
    error?: string;
    /** Callback сброса ошибки (вызывается при повторном выборе изображения) */
    onClearError?: () => void;
    /** CSS-класс обёртки */
    className?: string;
}
/**
 * InputImage — компонент выбора одного изображения.
 *
 * Визуально идентичен InputText. Под капотом использует readImageFile,
 * который валидирует что файл — изображение и извлекает его размеры.
 *
 * HTML-атрибут accept формируется автоматически из allowedMime
 * или по умолчанию равен "image/*".
 */
export declare function InputImage({ value, onChange, onClear, onReadError, allowedMime, maxBytes, readMode, label, description, placeholder, disabled, size, error, onClearError, className }: InputImageProps): import("react").JSX.Element;
//# sourceMappingURL=InputImage.d.ts.map