/**
 * cem.ts
 *
 * Loads and queries the Custom Elements Manifest (package/custom-elements.json).
 * Provides typed interfaces for CEM declarations and helpers to extract
 * Lukso class declarations and tag names from component source files.
 */
export interface CemMember {
    kind: string;
    name: string;
    type?: {
        text: string;
    };
    default?: string;
    attribute?: string;
    description?: string;
    privacy?: string;
    static?: boolean;
}
export interface CemDeclaration {
    kind: string;
    name: string;
    tagName?: string;
    description?: string;
    members?: CemMember[];
    attributes?: {
        name: string;
        type?: {
            text: string;
        };
        default?: string;
        description?: string;
    }[];
    events?: {
        name: string;
        type?: {
            text: string;
        };
        description?: string;
    }[];
    slots?: {
        name: string;
        description?: string;
    }[];
}
export interface CemModule {
    kind: string;
    path: string;
    declarations?: CemDeclaration[];
}
/** Load the Custom Elements Manifest from package/custom-elements.json */
export declare function loadCem(root: string): CemModule[];
/** Return all Lukso class declarations with their parent module */
export declare function getClassDeclarations(modules: CemModule[]): {
    module: CemModule;
    decl: CemDeclaration;
}[];
/** Extract the custom element tag name from a component source file */
export declare function getTagName(source: string): string;
//# sourceMappingURL=cem.d.ts.map