export type ThemeKey = 'baby' | 'animals' | 'science' | 'physics' | 'chemistry' | 'math' | 'nature' | 'tech' | 'space' | 'music' | 'book' | 'health'; export interface ThemeAsset { key: ThemeKey; label: string; /** Fragment SVG (sans wrapper) — un motif centré sur (0,0). */ motif: string; } export declare const THEMES: Record; /** Liste des clés thèmes natifs (ordre fixe pour itération déterministe). */ export declare const THEME_KEYS: ThemeKey[]; /** Renvoie la liste des clés thèmes natifs. */ export declare function listThemes(): ThemeKey[]; /** Récupère un thème par clé. Lance si inconnu. */ export declare function getTheme(key: ThemeKey): ThemeAsset; /** * Tire un thème au hasard dans le pool fourni (ou tous les thèmes si pool absent). * Utilise Math.random() — pas de seed (déterminisme = à la charge du caller s'il * en a besoin). */ export declare function pickRandomTheme(pool?: ThemeKey[]): ThemeKey; /** * Construit le fragment SVG du cadre thématique : * 4 instances du motif aux 4 coins, monochrome via CSS color, opacité. * * Le fragment est destiné à être inséré dans un SVG composite global * (viewBox 0 0 width width). Coordonnées dans l'espace [0..width]. */ export interface BuildFrameOpts { /** Largeur du canvas SVG englobant en unités utilisateur. */ width: number; /** Couleur monochrome appliquée via CSS. Default '#1e293b'. */ color?: string; /** Opacité 0..1. Default 1. */ opacity?: number; /** * Proportion du cartouche blanc central / canvas (0..1). Détermine la * largeur de la zone-marge où sont placés les motifs. * Default 0.62. */ centerWhiteRatio?: number; /** * Position du motif dans la zone-marge (0..1) : * 0 = motif collé au bord du canvas * 0.5 = motif centré dans la zone-marge (default, optimal) * 1 = motif collé contre le cartouche blanc */ framePadding?: number; /** * Échelle du motif (override de l'auto-calc). * Auto = (marginZone × 0.65 / 14) où 14 ≈ envergure locale du motif. */ motifScale?: number; } export declare function buildThemeFrameSvg(theme: ThemeAsset, opts: BuildFrameOpts): string; //# sourceMappingURL=themes.d.ts.map