import { MaybeRefOrGetter } from 'vue';
import { BglFile, QueueFile } from './upload.types';
interface UseFileUploadProps {
    multiple?: boolean;
    dirPath?: MaybeRefOrGetter<string>;
    accept?: string;
    disabled?: boolean;
    namespace?: string;
    onFileQueued?: (files: QueueFile[]) => void;
}
export declare function useFileUpload(props?: UseFileUploadProps): {
    fileQueue: import('vue').Ref<{
        file: {
            readonly lastModified: number;
            readonly name: string;
            readonly webkitRelativePath: string;
            readonly size: number;
            readonly type: string;
            arrayBuffer: () => Promise<ArrayBuffer>;
            bytes: () => Promise<Uint8Array>;
            slice: (start?: number, end?: number, contentType?: string) => Blob;
            stream: () => ReadableStream<Uint8Array>;
            text: () => Promise<string>;
        };
        url?: string | undefined;
        progress: number;
        uploading?: boolean | undefined;
        name?: string | undefined;
        uploaded?: boolean | undefined;
        namespace?: string | undefined;
    }[], QueueFile[] | {
        file: {
            readonly lastModified: number;
            readonly name: string;
            readonly webkitRelativePath: string;
            readonly size: number;
            readonly type: string;
            arrayBuffer: () => Promise<ArrayBuffer>;
            bytes: () => Promise<Uint8Array>;
            slice: (start?: number, end?: number, contentType?: string) => Blob;
            stream: () => ReadableStream<Uint8Array>;
            text: () => Promise<string>;
        };
        url?: string | undefined;
        progress: number;
        uploading?: boolean | undefined;
        name?: string | undefined;
        uploaded?: boolean | undefined;
        namespace?: string | undefined;
    }[]>;
    storageFiles: import('vue').Ref<{
        created_at?: string | undefined;
        updated_at?: string | undefined;
        path_key: string;
        base_url: string;
        name: string;
        mimetype?: string | undefined;
        size?: number | undefined;
        extension?: string | undefined;
        tags: string[];
        url: string;
    }[], BglFile[] | {
        created_at?: string | undefined;
        updated_at?: string | undefined;
        path_key: string;
        base_url: string;
        name: string;
        mimetype?: string | undefined;
        size?: number | undefined;
        extension?: string | undefined;
        tags: string[];
        url: string;
    }[]>;
    pk: import('vue').Ref<string[], string[]>;
    pathKeys: import('vue').ComputedRef<string[]>;
    fileToUrl: (file: File) => string;
    removeFile: (pathKeyOrFile: string | File | QueueFile) => Promise<void>;
    flushQueue: () => Promise<void>;
    addFile: (file?: File | File[] | FileList | null) => void;
    browse: (autoFlush?: boolean) => void;
    namespace: string;
};
export {};
//# sourceMappingURL=useFileUpload.d.ts.map