import type { InputSurface } from '../../input/input-surface.js'; import type { InteractiveCtx } from './shared.js'; import type { TranscriptHandle } from './transcript.js'; import type { LoopStageBar } from './loop-stage.js'; import type { MascotBar } from './mascot-bar.js'; import { type TurnState } from './repl-loop-shared.js'; export interface SurfaceSetupDeps { getLoopStageBar: () => LoopStageBar | undefined; getMascotBar: () => MascotBar | undefined; } export interface SurfaceSetupResult { installSoftStop: (handler: (() => void) | null) => void; } export declare function setupSurface(ctx: InteractiveCtx, surface: InputSurface, turnState: TurnState, transcript: TranscriptHandle, sigintHandler: () => void, suggestGhostEnabled: boolean, deps: SurfaceSetupDeps): Promise;