///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
import { EToolResources } from 'librechat-data-provider';
import type { FilterQuery, SortOrder } from 'mongoose';
import type { IMongoFile } from '~/types/file';
/** Factory function that takes mongoose instance and returns the file methods */
export declare function createFileMethods(mongoose: typeof import('mongoose')): {
findFileById: (file_id: string, options?: Record) => Promise;
getFiles: (filter: FilterQuery, _sortOptions?: Record | null, selectFields?: string | Record | null | undefined) => Promise;
getToolFilesByIds: (fileIds: string[], toolResourceSet?: Set) => Promise;
getCodeGeneratedFiles: (conversationId: string, messageIds?: string[]) => Promise;
getUserCodeFiles: (fileIds?: string[]) => Promise;
claimCodeFile: (data: {
filename: string;
conversationId: string;
file_id: string;
user: string;
}) => Promise;
createFile: (data: Partial, disableTTL?: boolean) => Promise;
updateFile: (data: Partial & {
file_id: string;
}) => Promise;
updateFileUsage: (data: {
file_id: string;
inc?: number;
}) => Promise;
deleteFile: (file_id: string) => Promise;
deleteFiles: (file_ids: string[], user?: string) => Promise<{
deletedCount?: number;
}>;
deleteFileByFilter: (filter: FilterQuery) => Promise;
batchUpdateFiles: (updates: Array<{
file_id: string;
filepath: string;
}>) => Promise;
updateFilesUsage: (files: Array<{
file_id: string;
}>, fileIds?: string[]) => Promise;
};
export type FileMethods = ReturnType;