import { type Focusable, type TUI } from "@kolisachint/hoocode-tui"; import { InputFrame } from "./input-frame.js"; /** * Login dialog component - replaces editor during OAuth login flow */ export declare class LoginDialogComponent extends InputFrame implements Focusable { private onComplete; private contentContainer; private input; private tui; private abortController; private inputResolver?; private inputRejecter?; /** Holds the frame open until the flow has something to show. */ private placeholder?; private _focused; get focused(): boolean; set focused(value: boolean); constructor(tui: TUI, providerId: string, onComplete: (success: boolean, message?: string) => void, providerNameOverride?: string, titleOverride?: string); /** * A blank row between what is already shown and what is about to be — and * nothing at all when there is nothing above it. The flow's steps append to * each other, so each one asked for a leading `Spacer(1)`; with the title * moved into the border the first step's blank row sits flush under the top * rule, which is the wasted row the vertical rhythm rules name. */ private separate; /** Remove the "Starting…" row the first time the flow has something to say. */ private dropPlaceholder; get signal(): AbortSignal; private cancel; /** * Called by onAuth callback - show URL and optional instructions */ showAuth(url: string, instructions?: string): void; /** * Show input for manual code/URL entry (for callback server providers) */ showManualInput(prompt: string): Promise; /** * Called by onPrompt callback - show prompt and wait for input * Note: Does NOT clear content, appends to existing (preserves URL from showAuth) */ showPrompt(message: string, placeholder?: string): Promise; /** * Show informational text without prompting for input. */ showInfo(lines: string[]): void; /** * Show waiting message (for polling flows like GitHub Copilot) */ showWaiting(message: string): void; /** * Called by onProgress callback */ showProgress(message: string): void; handleInput(data: string): void; } //# sourceMappingURL=login-dialog.d.ts.map