import { RefObject } from 'react';
import { FieldBaseProps } from '../../../shared';
import { BaseProps, BlockStyleProps, ContainerStyleProps, PositionStyleProps, Props, Styles } from '../../../tasty';
import type { AriaTextFieldProps } from 'react-aria';
export interface CubeFileInputProps extends BaseProps, PositionStyleProps, ContainerStyleProps, BlockStyleProps, AriaTextFieldProps, FieldBaseProps {
    /**
     * The size of the input
     * @default default
     */
    size?: 'small' | 'default' | 'large' | string;
    /** The input ref */
    inputRef?: RefObject<HTMLInputElement>;
    /** Style map for the input */
    inputStyles?: Styles;
    /**
     * The type of the input
     * @default file
     */
    type?: 'file' | 'text';
    /** Direct input props */
    inputProps?: Props;
    /** The file types that the input should accept */
    accept?: string;
    value?: string;
    onChange?: (value: string) => void;
    placeholder?: string;
}
/**
 * FileInputs are file inputs that allow users to select local files to
 * upload them to the server.
 */
declare const _FileInput: import("react").ForwardRefExoticComponent<CubeFileInputProps & import("react").RefAttributes<unknown>>;
export { _FileInput as FileInput };
