import type { LoadingState } from '../ScalarLoading';
import { type ExtensionList } from './types.js';
/**
* Scalar File Upload component
*
* @example
*
*
* @example
*
* Select files
*
*/
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots any;
"update:error": (value: string | undefined) => any;
} & {
selected: (value: File[]) => any;
}, string, import("vue").PublicProps, Readonly<{
/** Whether multiple files can be uploaded */
multiple?: boolean;
/**
* Accepted file types
* @default '*'
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept
*/
accept?: ExtensionList | string;
/** Whether the file upload is loading */
loader?: LoadingState;
/** Whether the file upload is compact */
variant?: "compact" | "default";
} & {
/** The selected files */
modelValue?: File[];
/** The error message */
error?: string;
}> & Readonly<{
onSelected?: ((value: File[]) => any) | undefined;
"onUpdate:modelValue"?: ((value: File[] | undefined) => any) | undefined;
"onUpdate:error"?: ((value: string | undefined) => any) | undefined;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
/** Override the entire input */
default?(props: {
/** Open the file dialog to select files */
open: () => void;
}): unknown;
/** Override the label */
label?(): unknown;
/** Override the entire drop target */
'drop-target'?(): unknown;
/** Override the drop target label */
'drop-target-label'?(): unknown;
}>;
type __VLS_WithSlots = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=ScalarFileUpload.vue.d.ts.map