/**
 * App-level editor that extends the base TUI Editor with keybinding dispatch,
 * bracketed-paste file-path interception, and extension shortcut support.
 */
import { Editor, type EditorOptions, type EditorTheme, type TUI } from '../../../tui/index.js';
import type { AppAction, KeybindingsManager } from '../../keybindings.js';
/**
 * Custom editor that handles app-level keybindings for coding-agent.
 */
export declare class CustomEditor extends Editor {
    private keybindings;
    actionHandlers: Map<AppAction, () => void>;
    /** Optional badge rendered right-aligned in the top border line. */
    topBorderBadge?: string;
    onEscape?: () => void;
    onCtrlD?: () => void;
    onPasteImage?: () => void;
    /** Handler for pasted file paths (drag-and-drop). Returns true if handled. */
    onFilePaste?: (filePath: string) => boolean;
    /** Handler for extension-registered shortcuts. Returns true if handled. */
    onExtensionShortcut?: (data: string) => boolean;
    /** Move focus into footer action rows when the prompt is empty and the user arrows down. */
    onFooterNavigateDown?: () => boolean;
    /** Build a CustomEditor wired to the given keybindings manager. */
    constructor(tui: TUI, theme: EditorTheme, keybindings: KeybindingsManager, options?: EditorOptions);
    /**
     * Register a handler for an app action.
     */
    onAction(action: AppAction, handler: () => void): void;
    /** Render editor lines, optionally overlaying a right-aligned top-border badge. */
    render(width: number): string[];
    /** Dispatch input through extension shortcuts, app keybindings, paste interception, then editor. */
    handleInput(data: string): void;
}
//# sourceMappingURL=custom-editor.d.ts.map