export interface DesignProfileMeta {
    id: string;
    source: string;
    title: string;
    category?: string;
    archetype?: string;
    /** v1.15.0 — present when the source profile had a quality-score.json */
    qualityScore?: string;
    importedAt: string;
    checksum: string;
    /** v1.15.0 — list of extra artifacts copied alongside DESIGN.md */
    artifacts?: string[];
}
export type CatalogName = 'core' | 'full' | (string & {
    __brand?: 'path';
});
export interface PullCatalogOptions {
    /** When true (default), also copies tokens.json/preview.html/etc. */
    richArtifacts?: boolean;
    /** Override source URL/path for 'full'. Falls back to OPENLIFE_DESIGN_CATALOG_URL env. */
    source?: string;
}
export declare class DesignMdImporter {
    private root;
    constructor(root?: string);
    /**
     * v1.15.0 — Unified import path that respects rich artifacts when available
     * and stays backward-compatible with the legacy DESIGN-only flow.
     */
    private importProfilesFromDir;
    importFromVendor(vendorPath?: string): DesignProfileMeta[];
    importFromOpenDesign(openDesignPath?: string): DesignProfileMeta[];
    /**
     * v1.15.0 — Pull a curated catalog of design profiles.
     *
     * - `core` (default): the 5-brand subset bundled in the npm tarball
     *   (`vendor/awesome-design-md-core/design-md/`). Always available
     *   offline. Includes rich artifacts.
     * - `full`: the full 72-brand collection. Resolved via, in order:
     *   1. explicit `opts.source` (absolute path or git url)
     *   2. env `OPENLIFE_DESIGN_CATALOG_PATH` (local dir)
     *   3. env `OPENLIFE_DESIGN_CATALOG_URL` (tarball/git url — TODO v1.15.1)
     * - Anything else is treated as a path/url override directly.
     */
    pullCatalog(catalog?: CatalogName, opts?: PullCatalogOptions): Promise<DesignProfileMeta[]>;
    /**
     * Find the bundled `awesome-design-md-core` regardless of whether we
     * run from source (cwd is repo) or from a global npm install (cwd is
     * the user's project, but the tarball lives under node_modules).
     */
    private resolveBundledCore;
}
