import type { PfeConfig } from '../config.js';
import { Manifest } from '../custom-elements-manifest/lib/Manifest.js';
import { Environment } from 'nunjucks';
interface DocsPageOptions extends PfeConfig {
    docsTemplatePath?: string;
    tagName: string;
    title?: string;
}
export interface RenderKwargs {
    title?: string;
    for?: string;
    header?: string;
    level?: number;
}
export declare class DocsPageRenderer {
    tagName: string;
    manifest: Manifest;
    renderOverview(content: string, kwargs?: RenderKwargs): string;
    renderAttributes(content: string, kwargs?: RenderKwargs): string;
    renderProperties(content: string, kwargs?: RenderKwargs): string;
    renderCssCustomProperties(content: string, kwargs?: RenderKwargs): string;
    renderEvents(content: string, kwargs?: RenderKwargs): string;
    renderCssParts(content: string, kwargs?: RenderKwargs): string;
    renderMethods(content: string, kwargs?: RenderKwargs): string;
    renderSlots(content: string, kwargs?: RenderKwargs): string;
}
export declare class DocsPage implements DocsPageRenderer {
    #private;
    manifest: Manifest;
    static isDocsPage: boolean;
    static renderBand(content: string, kwargs?: RenderKwargs): string;
    tagName: string;
    title: string;
    slug: string;
    templates: Environment;
    description?: string | null;
    summary?: string | null;
    docsTemplatePath?: string;
    constructor(manifest: Manifest, options?: DocsPageOptions);
    renderBand(content: string, kwargs?: RenderKwargs): string;
    /** Render the overview of a component page */
    renderOverview(content: string, kwargs?: RenderKwargs): string;
    /** Render the list of element attributes */
    renderAttributes(content: string, kwargs?: RenderKwargs): string;
    /** Render the list of element DOM properties */
    renderProperties(content: string, kwargs?: RenderKwargs): string;
    /** Render a talbe of element CSS Custom Properties */
    renderCssCustomProperties(content: string, kwargs?: RenderKwargs): string;
    /** Render the list of element CSS Shadow Parts */
    renderCssParts(content: string, kwargs?: RenderKwargs): string;
    /** Render the list of events for the element */
    renderEvents(content: string, kwargs?: RenderKwargs): string;
    /** Render the list of element methods */
    renderMethods(content: string, kwargs?: RenderKwargs): string;
    /** Render the list of the element's slots */
    renderSlots(content: string, kwargs?: RenderKwargs): string;
}
export {};
