import { type CodexRuntimeOptions } from "./runtime.js"; export interface OneShotCodexCredentials { idToken: string; accessToken: string; refreshToken: string; providerAccountId?: string; lastRefresh?: string; } export interface OneShotCodexLoginContext { codexHome: string; args: string[]; env: NodeJS.ProcessEnv; } export interface OneShotCodexLoginOptions { mode?: "browser" | "device"; env?: NodeJS.ProcessEnv; temporaryRoot?: string; runtime?: Omit; runner?: (context: OneShotCodexLoginContext) => Promise; } /** * Runs one isolated official Codex login without touching the normal Codex home * or the codex-multi-auth account pool. Credentials exist only for the duration * of `consume`; the isolated home is removed on success, failure, or cancellation. */ export declare function withOneShotCodexLogin(options: OneShotCodexLoginOptions, consume: (credentials: OneShotCodexCredentials) => Promise): Promise;