import type { Screen } from '../Screen'; /** Stats + preview for the pasted text (built by layout.buildPasteInfo). */ export interface PasteDialogInfo { chars: number; lines: number; preview: string; fullText: string; } export interface PasteDialogState { open: boolean; info: PasteDialogInfo | null; } export declare function createPasteDialogState(): PasteDialogState; /** What App should do after a key press. */ export type PasteDialogAction = { type: 'none'; } | { type: 'cancel'; } | { type: 'add-to-input'; text: string; } | { type: 'send-directly'; text: string; }; /** Minimal key shape App's KeyEvent satisfies. */ export interface PasteDialogKeyEvent { key: string; } /** * Handle one key event for the paste dialog. Returns the next dialog state * plus an action describing what App should perform as a side effect. * The dialog closes on every recognized key. */ export declare function handlePasteDialogKey(state: PasteDialogState, event: PasteDialogKeyEvent): { state: PasteDialogState; action: PasteDialogAction; }; /** * Paint the paste dialog below the status bar. Mirrors the rendering * previously inlined in App.renderInlinePasteInfo. */ export declare function renderPasteDialog(screen: Screen, state: PasteDialogState, startY: number, width: number): void;