/**
 * StyleManager - Theme management for diagram generation
 *
 * Provides predefined themes and custom theme loading
 */
import { ThemeConfig, ColorPalette, ShapeConfig, LayoutConfig } from '../types/index.js';
/**
 * Predefined themes
 */
export declare const THEMES: Record<string, ThemeConfig>;
/**
 * StyleManager - Manages themes and styling for diagrams
 */
export declare class StyleManager {
    private themes;
    constructor();
    /**
     * Load a theme by name
     */
    loadTheme(name: string): ThemeConfig;
    /**
     * Register a custom theme
     */
    registerTheme(theme: ThemeConfig): void;
    /**
     * Get all available theme names
     */
    getAvailableThemes(): string[];
    /**
     * Get theme by name or return default
     */
    getTheme(nameOrTheme?: string | ThemeConfig): ThemeConfig;
    /**
     * Merge custom theme with base theme
     */
    mergeTheme(baseName: string, overrides: Partial<ThemeConfig>): ThemeConfig;
    /**
     * Create a custom theme from scratch
     */
    createTheme(name: string, colors: Partial<ColorPalette>, shapes?: Partial<ShapeConfig>, layout?: Partial<LayoutConfig>): ThemeConfig;
    /**
     * Get color for a specific element type
     */
    getColor(theme: ThemeConfig, type: keyof ColorPalette): string;
    /**
     * Get shape for a specific element type
     */
    getShape(theme: ThemeConfig, type: keyof ShapeConfig): string;
}
export declare const styleManager: StyleManager;
//# sourceMappingURL=StyleManager.d.ts.map