import { CemMember } from './cem.js';
/** Extract the JSDoc block immediately before a class declaration (identified by markerPattern) */
export declare function extractJsDoc(source: string, markerPattern: RegExp): string;
/** Parse @fires tags from a JSDoc string */
export declare function parseFiresTags(jsdoc: string): {
    event: string;
    detail: string;
    bubbles: string;
    description: string;
}[];
/** Parse @slot tags from a JSDoc string */
export declare function parseSlotTags(jsdoc: string): {
    name: string;
    description: string;
}[];
/** Strip @fires/@slot tags from a JSDoc string and return the prose description only. */
export declare function extractProse(jsdoc: string): string;
/**
 * Build a ## Types section listing types referenced in the attributes table.
 * Looks up definitions from the component source and shared types.ts.
 * Pass pre-loaded sharedTypesSrc to avoid re-reading the file per component.
 */
export declare function buildTypesSection(members: CemMember[], componentSrc: string, sharedTypesSrc: string): string;
/** Build the ## Attributes markdown table from CEM members */
export declare function buildAttributesTable(members: CemMember[]): string;
/** Build the full markdown doc for a single component */
export declare function buildComponentDoc(tagName: string, jsdoc: string, members: CemMember[], componentSrc: string, sharedTypesSrc: string, root: string): string;
//# sourceMappingURL=component-doc.d.ts.map