import type { EditorTheme, MarkdownTheme, SelectListTheme } from '@earendil-works/pi-tui'; import type { SearchableSelectListTheme } from './components/searchable-select-list.js'; import darkThemeJson from './theme/dark.json'; export type ThemePalette = Record; export type ThemeExports = { palette: ThemePalette; lightMode: boolean; theme: { fg: (key: keyof ThemePalette, text: string) => string; fgText: (text: string) => string; assistantText: (text: string) => string; dim: (text: string) => string; accent: (text: string) => string; accentSoft: (text: string) => string; success: (text: string) => string; error: (text: string) => string; header: (text: string) => string; system: (text: string) => string; userBg: (text: string) => string; userText: (text: string) => string; toolTitle: (text: string) => string; toolOutput: (text: string) => string; toolPendingBg: (text: string) => string; toolSuccessBg: (text: string) => string; toolErrorBg: (text: string) => string; border: (text: string) => string; bold: (text: string) => string; italic: (text: string) => string; }; markdownTheme: MarkdownTheme; selectListTheme: SelectListTheme; searchableSelectListTheme: SearchableSelectListTheme; editorTheme: EditorTheme; }; export declare function getActiveThemeId(): string; export declare function listAvailableThemeIds(): string[]; export declare function resolveThemePalette(themeId: string, env?: NodeJS.ProcessEnv): { palette: ThemePalette; lightMode: boolean; resolvedId: string; }; /** Apply theme by id (`auto`, `dark`, `light`, or custom name). Returns resolved palette id. */ export declare function applyThemeById(themeId: string, env?: NodeJS.ProcessEnv): string; export declare function getThemeExports(): ThemeExports; export declare function getThinkingBorderColor(level: string | undefined): (text: string) => string; export declare function getBashModeBorderColor(): (text: string) => string; export declare function getBashExcludeBorderColor(): (text: string) => string; export declare function getDefaultEditorBorderColor(): (text: string) => string; export declare function getCustomThemesDir(): string; /** Initialize theme from CLI flag, env, or settings id. */ export declare function initTuiTheme(options?: { themeId?: string; env?: NodeJS.ProcessEnv; }): string;