/** Supported CSS frameworks for styling contract generation */
export type CSSFramework = 'tailwind' | 'bootstrap' | 'css-modules' | 'styled-components' | 'sass' | 'material-ui' | 'chakra-ui' | 'shadcn-ui' | 'ant-design' | 'css-pure' | 'flutter-styles' | 'react-native-styles';
/** Detected CSS framework with confidence score */
export interface CSSFrameworkDetection {
    framework: CSSFramework | null;
    confidence: 'high' | 'medium' | 'low';
    signals: string[];
    multipleDetected: string[];
    warning?: string;
}
/** Styling contract adapted to detected CSS framework */
export interface StylingContract {
    framework: CSSFramework | null;
    classes?: string[];
    components?: string[];
    tokens?: Record<string, string>;
    breakpoints?: Record<string, string>;
    darkMode?: string;
    responsive?: string;
    conventions?: string[];
    themeTokens?: string[];
    plugins?: string[];
    customProperties?: string[];
}
/** UX principle with category, rules, examples, and applicable contexts */
export interface UXPrinciple {
    category: string;
    title: string;
    rules: string[];
    examples?: string[];
    applicableTo?: string[];
}
/** Result of style consistency audit */
export interface StyleAuditResult {
    warnings: string[];
    suggestions: string[];
    mixedFrameworks: string[];
    inlineStyleCount: number;
    importantCount: number;
    score: number;
}
/** WCAG accessibility level */
export type A11yLevel = 'AA' | 'AAA';
/** A11y contrast requirements per level */
export interface A11yContrastRatios {
    level: A11yLevel;
    normalText: number;
    largeText: number;
}
/** Accessibility contract per component */
export interface ComponentA11yContract {
    component: string;
    requirements: string[];
}
/** Full accessibility contract for a UI spec */
export interface A11yContract {
    level: A11yLevel;
    contrastRatios: A11yContrastRatios;
    componentContracts: ComponentA11yContract[];
    ariaLiveRegions: string[];
    keyboardPatterns: string[];
    skipNavLink: boolean;
    manualTestingNote: string;
}
/** Config entry for a UI framework from ui-frameworks.json */
export interface UIFrameworkConfig {
    name: string;
    packageNames: string[];
    configFiles?: string[];
    conventions?: string[];
    components?: string[];
    breakpoints?: Record<string, string>;
    darkMode?: string;
    responsive?: string;
    plugins?: string[];
    importSignals?: string[];
}
/** UX principle config entry from ux-principles.json */
export interface UXPrincipleConfig {
    category: string;
    title: string;
    rules: string[];
    examples?: string[];
    applicableTo?: string[];
}
/** Root structure of ux-principles.json */
export interface UXPrinciplesFile {
    _description?: string;
    principles: UXPrincipleConfig[];
}
/** Root structure of ui-frameworks.json */
export interface UIFrameworksFile {
    _description?: string;
    [key: string]: UIFrameworkConfig | string | undefined;
}
/** Framework catalog as a plain lookup map (typed without string union issues) */
export type UIFrameworkCatalog = Partial<Record<CSSFramework, UIFrameworkConfig>>;
/** Signals record for CSS framework detection engine (internal use) */
export interface CSSFrameworkSignals {
    packageNames: string[];
    configFiles: string[];
    importPatterns: RegExp[];
}
/** Raw JSON structure of ux-principles.json for parsing */
export interface UXPrinciplesRaw {
    principles: UXPrincipleConfig[];
}
/** Raw JSON structure of ui-frameworks.json for parsing (all keys are UIFrameworkConfig) */
export type UIFrameworksRaw = Record<string, UIFrameworkConfig>;
//# sourceMappingURL=css-framework.d.ts.map