import { DesignProfileMeta } from './DesignMdImporter';
export interface DesignProfileSearchResult {
    profile: DesignProfileMeta;
    score: number;
}
export interface DesignProfileDiff {
    a: string;
    b: string;
    colors: Array<{
        key: string;
        a?: string;
        b?: string;
    }>;
    typography: Array<{
        key: string;
        a?: string;
        b?: string;
    }>;
    archetypeChanged: boolean;
    qualityScoreChanged: boolean;
    metaDelta: {
        archetype: {
            a?: string;
            b?: string;
        };
        qualityScore: {
            a?: string;
            b?: string;
        };
    };
}
export declare class DesignMdRegistry {
    private root;
    constructor(root?: string);
    list(): DesignProfileMeta[];
    get(id: string): {
        meta: DesignProfileMeta | null;
        design: string | null;
    };
    /**
     * v1.15.0 Phase A3 — Full-text search across profile id/title/archetype +
     * DESIGN.md body. Scoring favors id/archetype matches over body matches.
     * Filters narrow the result set BEFORE scoring.
     */
    search(query: string, filters?: {
        source?: string;
        archetype?: string;
        qualityScore?: string;
    }): DesignProfileSearchResult[];
    /** v1.15.0 Phase A3 — Filter helper. */
    findByArchetype(archetype: string): DesignProfileMeta[];
    /**
     * v1.15.0 Phase A3 — Filter profiles whose tokens.json contains a color
     * within `deltaE` of the target hex. Uses euclidean RGB distance
     * (sufficient for the "designs with blue" UX).
     */
    findByTokenColor(hex: string, deltaE?: number): DesignProfileMeta[];
    /**
     * v1.15.0 Phase A3 — Token-level diff between two profiles. Reads each
     * profile's tokens.json or falls back to DESIGN.md frontmatter.
     */
    diff(profileA: string, profileB: string): DesignProfileDiff | null;
    /** Reads tokens.json or falls back to DESIGN.md frontmatter parsing. */
    private loadProfileTokens;
}
