import React from 'react';
import { type JSX, type UdpFileItem } from 'udp-react-stencil-component-library';
import { FormChangeEvent, FormFocusEvent } from './utils/formEvents';
/**
 * Props for the UdpFileInput component.
 *
 * One control with two presentation modes:
 * - `view="list"` (default): file rows — for any file type.
 * - `view="gallery"`: thumbnail tiles + click-to-zoom lightbox — for images.
 *
 * Supports both MUI-style and Fluent-style error handling:
 * - MUI style: error={boolean} + helperText={string}
 * - Fluent style: error={string} + hint={string}
 */
export interface UdpFileInputProps extends Partial<Omit<JSX.UdpFluentFileInput, 'onValueChanged' | 'onInputBlur' | 'onInputFocus' | 'error'>> {
    /** Called when item list changes - compatible with form libraries (event.target.value) */
    onChange?: (event: FormChangeEvent<UdpFileItem[]>) => void;
    /** Called when input loses focus - compatible with form libraries */
    onBlur?: (event: FormFocusEvent) => void;
    /** Called when input gains focus */
    onFocus?: (event: FormFocusEvent) => void;
    /** React children (for slot content) */
    children?: React.ReactNode;
    /**
     * Error state - supports both MUI and Fluent patterns:
     * - string: Fluent style - the error message to display
     * - boolean: MUI style - when true, displays helperText as error
     */
    error?: string | boolean;
    /**
     * MUI compatibility: Helper/error text shown below the input.
     * When error={true}, this is displayed as the error message.
     * When error={false}, this is displayed as hint text.
     */
    helperText?: string;
}
export declare const UdpFileInput: React.FC<UdpFileInputProps>;
//# sourceMappingURL=UdpFileInput.d.ts.map