import { WeavyType } from '../client/weavy';
import { BlobType, ExternalBlobType, FileMutationContextType } from '../types/files.types';
import { AppType } from '../types/app.types';
import { UserType } from '../types/users.types';
import { MutationKey, MutationObserver } from '@tanstack/query-core';
export type MutateExternalBlobVariables = {
    externalBlob: ExternalBlobType;
};
export type ExternalBlobMutationType = MutationObserver<BlobType, Error, MutateExternalBlobVariables, FileMutationContextType>;
export declare function removeSuccessfulExternalBlobMutations(weavy: WeavyType, app: AppType, name: string): void;
export declare function externalBlob(weavy: WeavyType, externalBlob: ExternalBlobType): Promise<BlobType>;
export declare function getExternalBlobMutationOptions(weavy: WeavyType, user: UserType, app: AppType, uniqueId?: string): {
    mutationFn: (variables: MutateExternalBlobVariables) => Promise<BlobType>;
    mutationKey: MutationKey;
    onMutate: (variables: MutateExternalBlobVariables) => Promise<FileMutationContextType>;
    onSuccess: (_data: BlobType, variables: MutateExternalBlobVariables, _context: FileMutationContextType | undefined) => void;
    onError(error: Error, variables: MutateExternalBlobVariables, _context: FileMutationContextType | undefined): void;
};
export declare function getExternalBlobMutation(weavy: WeavyType, user: UserType, app: AppType, uniqueId?: string): ExternalBlobMutationType;
//# sourceMappingURL=blob-external.d.ts.map