import * as react_jsx_runtime from 'react/jsx-runtime';
import React__default from 'react';
import { VariantProps as VariantPropsInternal } from './variants.js';
import { l as labelStyles } from './label-size-BuYQMot6.js';

declare const fileInput: (props?: ({
    [x: string]: string | number | undefined;
} & {
    className?: string;
}) | undefined) => {
    container: (slotProps?: {
        className?: string;
    }) => string;
    input: (slotProps?: {
        className?: string;
    }) => string;
    button: (slotProps?: {
        className?: string;
    }) => string;
};
interface FileInputProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
    variant?: VariantPropsInternal<typeof fileInput>['variant'];
    size?: VariantPropsInternal<typeof fileInput>['size'];
    placeholder?: string;
    disabled?: boolean;
    label?: React__default.ReactNode;
    labelWeight?: keyof typeof labelStyles.weight;
    clearable?: boolean;
    onClear?: (event: React__default.MouseEvent) => void;
    helperText?: React__default.ReactNode;
    error?: string;
    labelClassName?: string;
    inputClassName?: string;
    helperClassName?: string;
    errorClassName?: string;
    ref?: React__default.Ref<HTMLInputElement>;
}
declare function FileInput({ className, variant, size, disabled, placeholder, label, labelWeight, error, clearable, onClear, readOnly, helperText, labelClassName, inputClassName, errorClassName, helperClassName, ref, ...inputProps }: FileInputProps): react_jsx_runtime.JSX.Element;

export { FileInput, type FileInputProps };
