import { HTMLAttributes, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { PolymorphicProps } from '../factory';
import { RootEmits, RootProps } from './file-upload.types';
import { FileAcceptDetails, FileChangeDetails, FileRejectDetails } from '@zag-js/file-upload';
export interface FileUploadRootBaseProps extends RootProps, PolymorphicProps {
}
export interface FileUploadRootProps extends FileUploadRootBaseProps, 
/**
 * @vue-ignore
 */
HTMLAttributes {
}
export interface FileUploadRootEmits extends RootEmits {
}
declare const _default: __VLS_WithTemplateSlots< DefineComponent<FileUploadRootProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    fileAccept: (details: FileAcceptDetails) => any;
    fileChange: (details: FileChangeDetails) => any;
    fileReject: (details: FileRejectDetails) => any;
}, string, PublicProps, Readonly<FileUploadRootProps> & Readonly<{
    onFileAccept?: ((details: FileAcceptDetails) => any) | undefined;
    onFileChange?: ((details: FileChangeDetails) => any) | undefined;
    onFileReject?: ((details: FileRejectDetails) => any) | undefined;
}>, {
    invalid: boolean;
    disabled: boolean;
    required: boolean;
    allowDrop: boolean;
    directory: boolean;
    preventDocumentDrop: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
