interface SearchResult { id: string; name: string; creator: string; url: string; thumbnailUrl?: string; likes: number; downloads: number; source: string; createdAt?: string; } interface ModelFile { id: string; name: string; url: string; size?: number; format: string; } interface SearchModelsOptions { sources?: string[]; sort?: 'relevant' | 'popular' | 'newest'; limit?: number; } interface SearchModelsResult { results: SearchResult[]; errors: { provider: string; message: string; }[]; } declare function searchModels(query: string, options?: SearchModelsOptions): Promise; declare function listFiles(modelId: string, source: string): Promise; interface DownloadOptions { outputDir?: string; formats?: string[]; } interface DownloadResult { files: string[]; } declare function downloadModel(modelId: string, source: string, options?: DownloadOptions): Promise; interface SourceInfo { name: string; available: boolean; isBrowseOnly: boolean; } declare function listSources(): SourceInfo[]; export { type DownloadOptions, type DownloadResult, type ModelFile, type SearchModelsOptions, type SearchModelsResult, type SearchResult, type SourceInfo, downloadModel, listFiles, listSources, searchModels };