import type { Api, AuthResult, Model, Provider } from "@earendil-works/pi-ai"; import type { AuthStorage } from "./auth-storage.ts"; import type { ModelRuntime } from "./model-runtime.ts"; import type { AuthStatus, ProviderConfigInput } from "./provider-composer.ts"; export type { ProviderConfigInput } from "./provider-composer.ts"; export type ResolvedRequestAuth = { ok: true; apiKey?: string; headers?: Record; env?: Record; } | { ok: false; error: string; }; export { clearApiKeyCache } from "./provider-composer.ts"; /** * Synchronous compatibility facade exposed to extensions. * Coding-agent internals use ModelRuntime directly. */ export declare class ModelRegistry { private readonly runtime; constructor(runtime: ModelRuntime); /** Legacy extension access to the default auth.json store. */ get authStorage(): AuthStorage; /** Reload models.json asynchronously. Await before making synchronous registry reads. */ refresh(): Promise; getError(): string | undefined; getAll(): Model[]; getAvailable(): Model[]; find(provider: string, modelId: string): Model | undefined; hasConfiguredAuth(model: Model): boolean; getApiKeyAndHeaders(model: Model): Promise; getProviderAuthStatus(provider: string): AuthStatus; getProvider(provider: string): Provider | undefined; getProviderDisplayName(provider: string): string; getProviderAuth(provider: string): Promise; getApiKeyForProvider(provider: string): Promise; isUsingOAuth(model: Model): boolean; registerProvider(provider: Provider): void; registerProvider(providerName: string, config: ProviderConfigInput): void; unregisterProvider(providerName: string): void; getRegisteredProviderConfig(providerName: string): ProviderConfigInput | undefined; getRegisteredNativeProvider(providerName: string): Provider | undefined; getRegisteredProviderIds(): readonly string[]; } //# sourceMappingURL=model-registry.d.ts.map