import type { SnapshotStore } from '@deepseek-ai/dsh-client-store'; import { type CloudAsrModelField } from '../asr/providers.js'; import type { EarsSettings } from '../config.js'; import type { CloudProviderModelsView } from '../remote-contract.js'; import type { EarsRemote } from '../remote.js'; export interface CloudModelsView { status: 'loading' | 'ready'; view: CloudProviderModelsView; } export declare const EMPTY_CLOUD_MODELS_VIEW: CloudModelsView; /** Owns provider-specific model memory and the stale-response guard for model loading. */ export declare class CloudProviderController { private readonly store; private readonly models; private request; private disposed; private listingAbort; private view; constructor(); getStore(): SnapshotStore; remember(provider: string, model: string): void; rememberSettings(settings: EarsSettings): void; reset(settings: EarsSettings): void; /** Invalidate a catalog whose credentials or selected settings no longer match the request. */ invalidate(): void; modelFor(provider: string, settings: EarsSettings, drafts: ReadonlyMap): string; fieldFor(provider: string): CloudAsrModelField; refresh(remote: EarsRemote, provider: string, service?: string): Promise; dispose(): void; private isListable; private isCurrent; private setView; }