/// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// 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;