/**
 * Sistema de Temas Integrado para VLibras
 * Permite personalização visual completa da interface
 */
/**
 * Interface para definição de tema
 */
export interface VLibrasTheme {
    name: string;
    displayName: string;
    description?: string;
    colors: {
        primary: string;
        secondary: string;
        background: string;
        surface: string;
        error: string;
        success: string;
        warning: string;
        info: string;
        text: string;
        textSecondary: string;
        border: string;
        shadow: string;
    };
    spacing: {
        xs: string;
        sm: string;
        md: string;
        lg: string;
        xl: string;
    };
    typography: {
        fontFamily: string;
        fontSize: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
            xl: string;
        };
        fontWeight: {
            light: number;
            normal: number;
            medium: number;
            bold: number;
        };
        lineHeight: {
            tight: number;
            normal: number;
            relaxed: number;
        };
    };
    borderRadius: {
        none: string;
        sm: string;
        md: string;
        lg: string;
        full: string;
    };
    shadows: {
        none: string;
        sm: string;
        md: string;
        lg: string;
        xl: string;
    };
    animation: {
        duration: {
            fast: string;
            normal: string;
            slow: string;
        };
        easing: {
            ease: string;
            easeIn: string;
            easeOut: string;
            easeInOut: string;
        };
    };
    vlibras: {
        playerBackground: string;
        controlsBackground: string;
        progressBarColor: string;
        loadingSpinnerColor: string;
        errorColor: string;
        successColor: string;
    };
}
/**
 * Tema claro padrão
 */
export declare const lightTheme: VLibrasTheme;
/**
 * Tema escuro
 */
export declare const darkTheme: VLibrasTheme;
/**
 * Tema de alto contraste
 */
export declare const highContrastTheme: VLibrasTheme;
/**
 * Tema compacto para espaços reduzidos
 */
export declare const compactTheme: VLibrasTheme;
/**
 * Gerenciador de temas do VLibras
 */
export declare class VLibrasThemeManager {
    private static instance;
    private themes;
    private currentTheme;
    private styleElement;
    private constructor();
    static getInstance(): VLibrasThemeManager;
    /**
     * Registra um novo tema
     */
    registerTheme(theme: VLibrasTheme): void;
    /**
     * Lista todos os temas disponíveis
     */
    getAvailableThemes(): VLibrasTheme[];
    /**
     * Obtém um tema por nome
     */
    getTheme(name: string): VLibrasTheme | undefined;
    /**
     * Obtém o tema atual
     */
    getCurrentTheme(): VLibrasTheme;
    /**
     * Aplica um tema
     */
    applyTheme(themeName: string): void;
    /**
     * Auto-detecta preferência do sistema
     */
    private detectSystemPreference;
    /**
     * Injeta CSS do tema no documento
     */
    private injectCSS;
    /**
     * Gera CSS a partir do tema
     */
    private generateCSS;
    /**
     * Atualiza configurações de animação
     */
    private updateAnimations;
    /**
     * Cria um tema personalizado
     */
    createCustomTheme(baseTheme: string, customizations: Partial<VLibrasTheme>): VLibrasTheme;
    /**
     * Remove um tema customizado
     */
    removeTheme(themeName: string): void;
}
/**
 * Instância singleton do gerenciador de temas
 */
export declare const vlibrasThemeManager: VLibrasThemeManager;
/**
 * API simplificada para uso direto
 */
export declare const VLibrasThemes: {
    apply: (themeName: string) => void;
    readonly current: VLibrasTheme;
    readonly available: VLibrasTheme[];
    register: (theme: VLibrasTheme) => void;
    createCustom: (baseTheme: string, customizations: Partial<VLibrasTheme>) => VLibrasTheme;
    light: VLibrasTheme;
    dark: VLibrasTheme;
    highContrast: VLibrasTheme;
    compact: VLibrasTheme;
};
//# sourceMappingURL=VLibrasThemes.d.ts.map