/** * AuraGlass Auto Composer * On-demand generative UI layouts using LLMs + design tokens * Part of Next-Wave Systems (10/10) - Generative Design Systems * * @demo DEMO / EXPERIMENTAL COMPONENT — uses in-component mock data. * Generated layouts are produced by a local heuristic stand-in, NOT a real LLM * call. Wire it to a real model/generation backend before production use. */ import React from "react"; interface UIPrompt { description: string; purpose: string; constraints?: string[]; style?: "minimal" | "standard" | "detailed" | "experimental"; components?: string[]; interactions?: string[]; } interface GeneratedLayout { id: string; prompt: UIPrompt; jsx: string; css: string; tokens: DesignTokens; confidence: number; iterations: number; timestamp: number; } type DesignTokenPrimitive = string | number; type DesignTokenGroup = Record>; interface DesignTokens { colors: Record; spacing: Record; typography: DesignTokenGroup; shadows: Record; borders: Record; animations: DesignTokenGroup; } interface ComposerConfig { model: "claude" | "gpt" | "local"; temperature: number; maxTokens: number; designSystem: "material" | "fluid" | "glass" | "custom"; accessibility: boolean; responsive: boolean; } declare class AILayoutGenerator { private config; private designTokens; private templateLibrary; constructor(config: ComposerConfig); private initializeDesignTokens; private loadTemplateLibrary; generateLayout(prompt: UIPrompt): Promise; private generateJSXFromPrompt; private generateDashboardLayout; private generateFormLayout; private generateCardLayout; private generateListLayout; private generateGenericLayout; private generateCSSFromPrompt; } declare class LayoutOptimizer { private population; private fitnessScores; private generationCount; constructor(); optimizeLayout(baseLayout: GeneratedLayout, userFeedback: number[]): Promise; private createInitialPopulation; private createVariant; private calculateFitnessScores; private evolvePopulation; private selection; private crossover; private combineLayouts; private mutation; private getBestLayout; } export declare function GlassAutoComposerProvider({ children, config, }: { children: React.ReactNode; config?: Partial; }): import("react/jsx-runtime").JSX.Element; export declare function useAutoComposer(): { generator: AILayoutGenerator | null; optimizer: LayoutOptimizer | null; generateLayout: (prompt: UIPrompt) => Promise; optimizeLayout: (layout: GeneratedLayout, feedback: number[]) => Promise; currentLayouts: GeneratedLayout[]; }; export declare function GlassAutoComposerInterface({ className, }: { className?: string; }): import("react/jsx-runtime").JSX.Element; export declare function GlassGeneratedLayoutRenderer({ layout, data, className, }: { layout: GeneratedLayout; data?: Record; className?: string; }): import("react/jsx-runtime").JSX.Element; export declare function useLayoutGenerator(): { generateFromDescription: (description: string) => Promise; currentLayouts: GeneratedLayout[]; hasLayouts: boolean; }; export declare const autoComposerPresets: { creative: { temperature: number; style: string; iterations: number; }; balanced: { temperature: number; style: string; iterations: number; }; conservative: { temperature: number; style: string; iterations: number; }; accessibility: { temperature: number; style: string; accessibility: boolean; iterations: number; }; }; export declare function GlassAutoComposer({ children, className, ...props }: { children?: React.ReactNode; className?: string; } & React.HTMLAttributes): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=GlassAutoComposer.d.ts.map