import { BlobType, FileMutationContextType, MutateFileProps } from '../types/files.types';
import { WeavyType } from '../client/weavy';
import { AppType } from '../types/app.types';
import { UserType } from '../types/users.types';
import { Mutation } from '@tanstack/query-core';
export type UploadBlobProps = {
    file: File;
    onProgress?: (variables: UploadProgressProps) => void;
};
export type UploadProgressProps = {
    progress: number;
};
export type UploadBlobMutationType = Mutation<BlobType, Error, MutateFileProps, FileMutationContextType | undefined>;
export declare function removeSuccessfulUploadBlobMutations(weavy: WeavyType, app: AppType, name: string, uniqueId?: string, type?: "blobs" | "data"): void;
export declare function uploadBlob(weavy: WeavyType, file: File, onProgress?: (variables: UploadProgressProps) => void): Promise<BlobType>;
export declare function getSimpleUploadBlobMutationOptions(weavy: WeavyType): {
    mutationFn: (variables: MutateFileProps) => Promise<BlobType>;
};
export declare function getUploadBlobMutationOptions(weavy: WeavyType, user: UserType, appId: number | string, uniqueId?: string, type?: "blobs" | "data"): {
    mutationFn: (variables: MutateFileProps) => Promise<BlobType>;
    mutationKey: readonly unknown[];
    onMutate: (variables: MutateFileProps) => Promise<FileMutationContextType>;
    onSuccess: (_data: BlobType, variables: MutateFileProps, _context: FileMutationContextType | undefined) => void;
    onError(error: Error, variables: MutateFileProps, _context: FileMutationContextType | undefined): void;
};
//# sourceMappingURL=blob-upload.d.ts.map