import { getSavedApiEnv, removeAnthropicApiKey, removeClaudeCodeOAuthToken } from '../agents/config.js'; import { type AuthStatusSnapshot, type AuthType, type GetAuthStatusOptions } from './auth-status.js'; import { type LoadPiRuntimeOptions, type PiRuntimeLoadResult } from './pi-runtime.js'; export interface LogoutAccountInput { backend: 'claude' | 'pi'; provider: string; authType: AuthType; } export type AuthLogoutErrorCode = 'not_manageable' | 'external_credential' | 'runtime_unavailable' | 'logout_failed'; export interface AuthLogoutSuccess extends LogoutAccountInput { ok: true; } export interface AuthLogoutFailure extends LogoutAccountInput { ok: false; error: { code: AuthLogoutErrorCode; message: string; }; } export type AuthLogoutResult = AuthLogoutSuccess | AuthLogoutFailure; export interface LogoutAccountDependencies { getAuthStatus?: (options?: GetAuthStatusOptions) => Promise; getAuthStatusOptions?: GetAuthStatusOptions; loadPiRuntime?: (options?: LoadPiRuntimeOptions) => Promise; getSavedApiEnv?: typeof getSavedApiEnv; removeAnthropicApiKey?: typeof removeAnthropicApiKey; removeClaudeCodeOAuthToken?: typeof removeClaudeCodeOAuthToken; configureClaudeEnv?: () => void; refreshProviders?: () => void; piAuthPath?: string; } export declare function logoutAccount(input: LogoutAccountInput, dependencies?: LogoutAccountDependencies): Promise;