import type { Api, Model } from "@mariozechner/pi-ai"; import type { ThinkLevel } from "../../../auto-reply/thinking.js"; import { type AuthProfileStore } from "../../auth-profiles.js"; import { type ResolvedProviderAuth } from "../../model-auth.js"; import { type RuntimeAuthState } from "./helpers.js"; import type { RunEmbeddedPiAgentParams } from "./params.js"; type ApiKeyInfo = ResolvedProviderAuth; type RuntimeApiKeySink = { setRuntimeApiKey(provider: string, apiKey: string): void; }; type LogLike = { debug(message: string): void; info(message: string): void; warn(message: string): void; }; export declare function createEmbeddedRunAuthController(params: { config: RunEmbeddedPiAgentParams["config"]; agentDir: string; workspaceDir: string; authStore: AuthProfileStore; authStorage: RuntimeApiKeySink; profileCandidates: Array; lockedProfileId?: string; initialThinkLevel: ThinkLevel; attemptedThinking: Set; fallbackConfigured: boolean; allowTransientCooldownProbe: boolean; getProvider(): string; getModelId(): string; getRuntimeModel(): Model; setRuntimeModel(next: Model): void; getEffectiveModel(): Model; setEffectiveModel(next: Model): void; getApiKeyInfo(): ApiKeyInfo | null; setApiKeyInfo(next: ApiKeyInfo | null): void; getLastProfileId(): string | undefined; setLastProfileId(next: string | undefined): void; getRuntimeAuthState(): RuntimeAuthState | null; setRuntimeAuthState(next: RuntimeAuthState | null): void; getRuntimeAuthRefreshCancelled(): boolean; setRuntimeAuthRefreshCancelled(next: boolean): void; getProfileIndex(): number; setProfileIndex(next: number): void; setThinkLevel(next: ThinkLevel): void; log: LogLike; }): { advanceAuthProfile: () => Promise; initializeAuthProfile: () => Promise; maybeRefreshRuntimeAuthForAuthError: (errorText: string, retried: boolean) => Promise; stopRuntimeAuthRefreshTimer: () => void; }; export {};