import { type PropType } from 'vue';
import type { ClearSectionMode } from '../Input';
declare function defaultValueComponent(value: File | File[] | null): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>;
export declare const FileInput: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    component: {
        type: StringConstructor;
        default: string;
    };
    onChange: {
        type: PropType<(payload: File | File[] | null) => void>;
        default: undefined;
    };
    value: {
        type: PropType<File | File[] | null | undefined>;
        default: undefined;
    };
    defaultValue: {
        type: PropType<File | File[] | null | undefined>;
        default: undefined;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    accept: {
        type: StringConstructor;
        default: undefined;
    };
    name: {
        type: StringConstructor;
        default: undefined;
    };
    form: {
        type: StringConstructor;
        default: undefined;
    };
    valueComponent: {
        type: PropType<(value: File | File[] | null) => any>;
        default: typeof defaultValueComponent;
    };
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    clearSectionMode: {
        type: PropType<ClearSectionMode>;
        default: string;
    };
    clearButtonProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    readOnly: {
        type: BooleanConstructor;
        default: boolean;
    };
    capture: {
        type: PropType<boolean | "user" | "environment" | undefined>;
        default: undefined;
    };
    fileInputProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    placeholder: {
        type: PropType<any>;
        default: undefined;
    };
    resetRef: {
        type: PropType<any>;
        default: undefined;
    };
    rightSection: {
        type: PropType<any>;
        default: undefined;
    };
    size: {
        type: PropType<string | number>;
        default: string;
    };
    label: {
        type: PropType<any>;
        default: undefined;
    };
    description: {
        type: PropType<any>;
        default: undefined;
    };
    error: {
        type: PropType<any>;
        default: undefined;
    };
    required: {
        type: BooleanConstructor;
        default: boolean;
    };
    withAsterisk: {
        type: BooleanConstructor;
        default: undefined;
    };
    wrapperProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    component: {
        type: StringConstructor;
        default: string;
    };
    onChange: {
        type: PropType<(payload: File | File[] | null) => void>;
        default: undefined;
    };
    value: {
        type: PropType<File | File[] | null | undefined>;
        default: undefined;
    };
    defaultValue: {
        type: PropType<File | File[] | null | undefined>;
        default: undefined;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    accept: {
        type: StringConstructor;
        default: undefined;
    };
    name: {
        type: StringConstructor;
        default: undefined;
    };
    form: {
        type: StringConstructor;
        default: undefined;
    };
    valueComponent: {
        type: PropType<(value: File | File[] | null) => any>;
        default: typeof defaultValueComponent;
    };
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    clearSectionMode: {
        type: PropType<ClearSectionMode>;
        default: string;
    };
    clearButtonProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    readOnly: {
        type: BooleanConstructor;
        default: boolean;
    };
    capture: {
        type: PropType<boolean | "user" | "environment" | undefined>;
        default: undefined;
    };
    fileInputProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    placeholder: {
        type: PropType<any>;
        default: undefined;
    };
    resetRef: {
        type: PropType<any>;
        default: undefined;
    };
    rightSection: {
        type: PropType<any>;
        default: undefined;
    };
    size: {
        type: PropType<string | number>;
        default: string;
    };
    label: {
        type: PropType<any>;
        default: undefined;
    };
    description: {
        type: PropType<any>;
        default: undefined;
    };
    error: {
        type: PropType<any>;
        default: undefined;
    };
    required: {
        type: BooleanConstructor;
        default: boolean;
    };
    withAsterisk: {
        type: BooleanConstructor;
        default: undefined;
    };
    wrapperProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{}>, {
    size: string | number;
    name: string;
    error: any;
    onChange: (payload: File | File[] | null) => void;
    form: string;
    label: any;
    value: File | File[] | null | undefined;
    classNames: Function | Record<string, any>;
    styles: Function | Record<string, any>;
    required: boolean;
    description: any;
    defaultValue: File | File[] | null | undefined;
    multiple: boolean;
    component: string;
    vars: Function | Record<string, any>;
    unstyled: boolean;
    rightSection: any;
    placeholder: any;
    accept: string;
    resetRef: any;
    capture: boolean | "user" | "environment" | undefined;
    withAsterisk: boolean;
    wrapperProps: Record<string, any>;
    valueComponent: (value: File | File[] | null) => any;
    clearable: boolean;
    clearSectionMode: ClearSectionMode;
    clearButtonProps: Record<string, any>;
    readOnly: boolean;
    fileInputProps: Record<string, any>;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export {};
