/**
 * Customizable Theme System
 *
 * Provides terminal color themes:
 * - Built-in themes (dark, light, high-contrast)
 * - Custom theme support
 * - Theme persistence
 * - Live theme switching
 */
export interface ThemeColors {
    primary: string;
    secondary: string;
    accent: string;
    background: string;
    surface: string;
    text: string;
    textMuted: string;
    textInverse: string;
    success: string;
    warning: string;
    error: string;
    info: string;
    border: string;
    divider: string;
    highlight: string;
    code: string;
    link: string;
    selection: string;
}
export interface Theme {
    id: string;
    name: string;
    description?: string;
    author?: string;
    colors: ThemeColors;
    isBuiltin?: boolean;
}
/**
 * Built-in themes
 */
export declare const BUILTIN_THEMES: Theme[];
/**
 * Theme Manager
 */
export declare class ThemeManager {
    private themes;
    private currentTheme;
    private configPath;
    constructor(configPath?: string);
    /**
     * Get current theme
     */
    getTheme(): Theme;
    /**
     * Get theme colors
     */
    getColors(): ThemeColors;
    /**
     * Get color by key
     */
    getColor(key: keyof ThemeColors): string;
    /**
     * Set active theme
     */
    setTheme(themeId: string): boolean;
    /**
     * Add custom theme
     */
    addTheme(theme: Omit<Theme, 'isBuiltin'>): void;
    /**
     * Remove custom theme
     */
    removeTheme(themeId: string): boolean;
    /**
     * Get all available themes
     */
    getAllThemes(): Theme[];
    /**
     * Get theme by ID
     */
    getThemeById(id: string): Theme | undefined;
    /**
     * Create theme from base
     */
    createFromBase(baseId: string, newId: string, name: string, overrides: Partial<ThemeColors>): Theme | null;
    /**
     * Format theme list for display
     */
    formatThemeList(): string;
    /**
     * Preview theme colors
     */
    formatThemePreview(themeId?: string): string;
    /**
     * Load theme preference from file
     */
    private loadPreference;
    /**
     * Save current preference
     */
    private savePreference;
    /**
     * Save custom themes only
     */
    private saveCustomThemes;
}
/**
 * Get or create theme manager
 */
export declare function getThemeManager(): ThemeManager;
/**
 * Get current theme colors
 */
export declare function getThemeColors(): ThemeColors;
/**
 * Get specific color from current theme
 */
export declare function getColor(key: keyof ThemeColors): string;
export default ThemeManager;
