import { MutationKey, MutationState } from '@tanstack/query-core';
import { BlobType, FileType, CreateFileProps, FileMutationContextType, FileStatusStateType } from '../types/files.types';
import { UserType } from '../types/users.types';
import { WeavyContextType } from '../client/weavy';
import { AppType } from '../types/app.types';

export declare const getTempFile: (file: File | URL | undefined, name: string, size: number | undefined, type: string | undefined, user: UserType, refId?: number) => FileType;
export declare function getFileMutationsTotalProgress(mutationStates?: MutationState<BlobType, unknown, unknown, FileMutationContextType>[]): {
    loaded: number;
    total: number;
    percent: number | null;
};
export declare function getFileMutationsTotalStatus(mutationStates?: MutationState<BlobType | FileType, Error, unknown, FileMutationContextType>[]): FileStatusStateType;
export declare function getFileMutationsByConflictOrError(mutationStates?: MutationState<BlobType | FileType, Error, unknown, FileMutationContextType>[]): MutationState<FileType | BlobType, Error, unknown, FileMutationContextType>[];
export declare function removeSettledFileMutations(weavyContext: WeavyContextType, app: AppType, name: string): void;
export declare function getCreateFileMutationOptions(weavyContext: WeavyContextType, user: UserType, app: AppType): {
    mutationFn: ({ blob, replace }: CreateFileProps) => Promise<FileType>;
    mutationKey: MutationKey;
    onMutate: (variables: CreateFileProps) => Promise<FileMutationContextType>;
    onSuccess: (_data: FileType, variables: CreateFileProps, _context: FileMutationContextType | undefined) => Promise<void>;
    onError(error: Error, variables: CreateFileProps, context: FileMutationContextType | undefined): void;
};
//# sourceMappingURL=file-create.d.ts.map