export interface CustomUiLike { custom?: (factory: (tui: { requestRender?: () => void; }, theme: ThemeLike, keybindings: unknown, done: (result: T) => void) => TuiComponent) => Promise; } export interface ThemeLike { fg?: (color: string, text: string) => string; bold?: (text: string) => string; } export interface TuiComponent { render(width: number): string[]; handleInput(data: unknown): void; invalidate?: () => void; } export interface TuiComponentTools { theme: ThemeLike; keybindings: unknown; done: (result: T) => void; refresh: () => void; color: (name: string, text: string) => string; bold: (text: string) => string; } export declare function runCustomComponent(ui: CustomUiLike, build: (tools: TuiComponentTools) => TuiComponent): Promise | null;