import type { LocalMCPClientManager } from "./mcp-local";
import type { CodeGenEventEmitter } from "./codegen";
export interface RunLocalMCPOAuthFlowOptions {
    serverUrl: string;
    serverName: string;
    normalizedServerName: string;
    pinnedClientId?: string;
    pinnedClientSecret?: string;
    pinnedRedirectPort?: number;
    localMCPManager: LocalMCPClientManager | undefined;
    emitter: CodeGenEventEmitter;
    /**
     * Optional hook fired after `reconnectServer` finishes so the session can
     * update its `#lastMCPStatus` cache (so reconnects replay the post-auth
     * state) and emit its own merged `mcp-status` snapshot.
     */
    onReconnected?: () => void;
}
export declare function runLocalMCPOAuthFlow(opts: RunLocalMCPOAuthFlowOptions): Promise<void>;
/**
 * Wrap `runLocalMCPOAuthFlow` so callers that want fire-and-forget
 * semantics (return immediately, complete in the background) get a
 * consistent error-handler that captures to Sentry and emits the
 * `local-mcp-auth-complete` failure step. Used by the LLM-driven flow
 * and the slash-command RPC, both of which surface the same single-event
 * UX rather than blocking on the browser round-trip.
 */
export declare function runLocalMCPOAuthFlowDetached(opts: RunLocalMCPOAuthFlowOptions): void;
