import type { AgentSession } from "../../core/agent-session.js"; import type { AuthStatus } from "../../core/provider-composer.ts"; import type { RpcClient } from "../rpc/rpc-client.ts"; import type { RpcModelCatalog } from "../rpc/rpc-types.ts"; export declare class RemoteModelCatalog { private readonly client; private models; private scopedModels; private oauthProviders; /** Extension providers live only in the engine; the host learns their API-key login and auth status from it. */ private apiKeyLoginProviders; private readonly providerAuthStatuses; private refreshGeneration; constructor(client: RpcClient); apply(catalog: RpcModelCatalog): void; applyModels(catalog: Pick): void; /** Record the engine's authoritative status for one provider, e.g. after a logout. */ applyProviderAuthStatus(provider: string, status: AuthStatus): void; /** Whether only the engine can run this provider's API-key login. */ hasEngineApiKeyLogin(provider: string): boolean; patch(session: AgentSession): void; private refresh; private waitForRefresh; } //# sourceMappingURL=remote-model-catalog.d.ts.map