import type { ChutesModel } from './types'; import { ModelRegistry } from './registry'; export interface ModelFetcherConfig { apiBaseUrl?: string; cacheTtlSeconds?: number; maxRetries?: number; retryDelayMs?: number; } export declare class ModelFetchError extends Error { readonly _code: string; readonly _statusCode?: number | undefined; readonly _originalError?: Error | undefined; constructor(message: string, _code: string, _statusCode?: number | undefined, _originalError?: Error | undefined); } export declare class ModelFetcher { private apiBaseUrl; private cache; private registry; private maxRetries; private retryDelayMs; private apiToken; constructor(config?: ModelFetcherConfig); setApiToken(token: string | null): void; getApiToken(): string | null; private getHeaders; private fetchWithRetry; private delay; fetchModels(): Promise; refreshModels(force?: boolean): Promise; getCachedModels(): ChutesModel[] | null; getRegistry(): ModelRegistry; isCacheValid(): boolean; isCacheStale(): boolean; clearCache(): void; getCacheAge(): number | null; getCacheRemainingTTL(): number | null; } //# sourceMappingURL=fetcher.d.ts.map