import type { EmbeddingProvider } from '../../../shared/types/embedding.types.js'; import type { ProviderFallbackDecision, ProviderHealthCheckOptions, ProviderHealthStatus } from '../../../shared/types/embedding-provider-monitoring.types.js'; export type ProviderResolver = (provider: EmbeddingProvider) => { generateEmbedding(text: string): Promise; isAvailable(): boolean; } | null; export type ProviderPriorityResolver = () => EmbeddingProvider[]; export declare class ModelAvailabilityService { private readonly resolveProvider; private readonly resolvePriority; private readonly lastStatus; private readonly subscribers; constructor(resolveProvider: ProviderResolver, resolvePriority: ProviderPriorityResolver); checkProviderHealth(provider: EmbeddingProvider, options?: ProviderHealthCheckOptions): Promise; getLastStatus(provider: EmbeddingProvider): ProviderHealthStatus | undefined; getAllStatuses(): ProviderHealthStatus[]; subscribe(listener: (status: ProviderHealthStatus) => void): () => void; selectBestProvider(preferredProvider?: EmbeddingProvider, options?: ProviderHealthCheckOptions): Promise; private getPriorityList; private broadcast; } //# sourceMappingURL=model-availability-service.d.ts.map