import type { TerminalColors, TUI } from "@earendil-works/pi-tui"; import type { SettingsManager } from "../../../core/settings-manager.ts"; import { type TerminalTheme, type Theme } from "./theme.js"; type ThemeResult = { success: boolean; error?: string; }; export declare function requestTerminalColors(ui: Pick, apply: (colors: TerminalColors) => void): Promise; export declare class InteractiveThemeController { private readonly ui; private readonly getSettingsManager; private readonly showError; private readonly onChanged; private currentThemeSetting; private terminalColors; private activeThemeName; private autoSyncEnabled; private terminalColorSchemeUnsubscribe; private terminalColorQuery; constructor(ui: TUI, options: { getSettingsManager: () => SettingsManager; showError: (message: string) => void; onChanged: () => void; initialThemeSetting?: string; }); applyFromSettings(): Promise; waitForTerminalColors(): Promise; getThemeSelection(): string | undefined; setThemeName(name: string, showError?: boolean): ThemeResult; setThemeSetting(setting: string): Promise; setThemeInstance(instance: Theme): ThemeResult; preview(setting: string): void; disableAutoSync(): void; rebindTui(): void; dispose(): void; getTerminalTheme(): TerminalTheme; private getThemeSetting; private resolveThemeName; private applyThemeName; private queryTerminalColors; private applyTerminalColors; private reapplyForTerminal; private setAutoSync; private bindTerminalColorSchemeListener; private notifyChanged; } export {}; //# sourceMappingURL=theme-controller.d.ts.map