import type { ModelConstant } from '@qvac/sdk'; import type { ModelRegistry, ModelState, ServeConfig } from './model-registry.js'; /** A discovery-listing row. Deliberately NOT an OpenAI `model` object: a * `not_configured` entry is browsable but not callable on this server. */ export interface ModelCatalogEntry { object: 'model_catalog_entry'; id: string; source: 'config' | 'builtin'; configured: boolean; /** Callable on this server right now or after a lazy-load — true iff configured. */ usable: boolean; state: ModelState | 'not_configured'; role: string; addon: string | null; engine: string | null; quantization: string | null; params: string | null; /** Expected on-disk size in bytes, when known (constant-backed models). */ size: number | null; hint?: string; } export interface CatalogQuery { search?: string | undefined; role?: string | undefined; addon?: string | undefined; quantization?: string | undefined; engine?: string | undefined; configured?: boolean | undefined; } export declare function roleForAddon(addon: string): string; export declare function buildCatalog(serveConfig: ServeConfig, registry: ModelRegistry, constants: Map): ModelCatalogEntry[]; export declare function buildBuiltinCatalog(constants: Map): ModelCatalogEntry[]; export declare function filterCatalog(entries: ModelCatalogEntry[], query: CatalogQuery): ModelCatalogEntry[]; export declare function paginate(entries: ModelCatalogEntry[], limit?: number, offset?: number): { data: ModelCatalogEntry[]; hasMore: boolean; }; //# sourceMappingURL=model-catalog.d.ts.map