/**
 * Design System Generator Types
 *
 * Input configuration for generating a customized design system
 * that gets output to a project folder.
 */
export interface DesignSystemConfig {
    /** Project/client name (e.g., "winning-11") */
    projectName: string;
    /** Output directory for the generated design system */
    outputDir: string;
    /** Theme configuration */
    theme: ThemeConfig;
    /** Custom components not in the standard library */
    customComponents?: CustomComponentConfig[];
    /** Which standard components to include (default: all) */
    includeComponents?: ComponentFilter;
    /** Storybook configuration */
    storybook?: StorybookConfig;
}
export interface ThemeConfig {
    /** Theme name (used in data-design-theme attribute) */
    name: string;
    /** Theme display name for documentation */
    displayName?: string;
    /** Design metaphor/style description */
    metaphor?: string;
    /** Color palette */
    colors: {
        primary: string;
        primaryHover?: string;
        primaryForeground?: string;
        secondary: string;
        secondaryHover?: string;
        secondaryForeground?: string;
        accent: string;
        accentForeground?: string;
        muted: string;
        mutedForeground?: string;
        background: string;
        foreground: string;
        card?: string;
        cardForeground?: string;
        border: string;
        input?: string;
        ring?: string;
        /** Semantic colors */
        success?: string;
        warning?: string;
        error?: string;
        info?: string;
        /** Custom domain-specific colors */
        custom?: Record<string, string>;
    };
    /** Shadow style preset or custom shadows */
    shadows?: 'soft-organic' | 'minimal' | 'corporate' | 'playful' | 'dramatic' | 'soft' | ShadowConfig;
    /** Border radius preset or custom radii */
    radius?: 'organic' | 'gentle' | 'sharp' | 'rounded' | 'friendly' | RadiusConfig;
    /** Typography overrides */
    typography?: {
        fontFamily?: string;
        fontWeightNormal?: number;
        fontWeightMedium?: number;
        fontWeightBold?: number;
    };
    /** Dark mode variant */
    darkMode?: Partial<ThemeConfig['colors']>;
}
export interface ShadowConfig {
    main: string;
    sm: string;
    lg: string;
    hover: string;
    inner?: string;
    active?: string;
}
export interface RadiusConfig {
    sm: string;
    md: string;
    lg: string;
    xl: string;
}
export interface CustomComponentConfig {
    /** Component name (PascalCase) */
    name: string;
    /** Component description */
    description: string;
    /** Category in the component library */
    category: 'atoms' | 'molecules' | 'organisms' | 'templates';
    /** Component props */
    props: ComponentProp[];
    /** Why this component is needed */
    reasoning?: string;
    /** Priority for implementation */
    priority?: 'high' | 'medium' | 'low';
    /** Optional implementation code */
    implementation?: string;
    /** Optional Storybook stories */
    stories?: string;
}
export interface ComponentProp {
    name: string;
    type: string;
    description: string;
    required?: boolean;
    defaultValue?: string;
}
export interface ComponentFilter {
    /** Include all components (default: true) */
    all?: boolean;
    /** Specific categories to include */
    categories?: ('atoms' | 'molecules' | 'organisms' | 'templates')[];
    /** Specific components to include (by name) */
    include?: string[];
    /** Specific components to exclude (by name) */
    exclude?: string[];
}
export interface StorybookConfig {
    /** Build Storybook (default: true) */
    build?: boolean;
    /** Include Storybook source in output (default: true) */
    includeSource?: boolean;
    /** Custom Storybook title */
    title?: string;
}
/**
 * Example configuration for Winning-11 (Garden theme)
 */
export declare const WINNING_11_CONFIG: DesignSystemConfig;
