import * as react from 'react';
import { AllHTMLAttributes } from 'react';
import { B as ButtonProps } from '../../../Button.types-B8XilI28.js';
import '../../types.js';
import '@snowball-tech/design-tokens/dist/web/typescript/constants';
import '../../constants.js';

declare enum Variants {
    Display = "display",
    Primary = "primary",
    Secondary = "secondary",
    Text = "text"
}
declare const DEFAULT_VARIANT = Variants.Primary;

type CombinedRefs = {
    fileInput: HTMLInputElement | null;
    trigger: HTMLButtonElement | null;
};
interface InputFileProps extends Omit<AllHTMLAttributes<HTMLInputElement>, 'onChange'> {
    label: string;
    disabled?: boolean;
    triggerProps?: Partial<Omit<ButtonProps, 'disabled' | 'href' | 'label' | 'target' | 'type' | 'variant'>>;
    variant?: `${Variants}`;
    onChange?: (files: FileList | null) => void;
}

declare const InputFile: react.ForwardRefExoticComponent<InputFileProps & react.RefAttributes<CombinedRefs>>;

export { DEFAULT_VARIANT as DEFAULT_INPUT_FILE_VARIANT, InputFile, type InputFileProps, Variants as InputFileVariants };
