import type { AppendOptions, Escape, Renderer } from "../types/renderer.ts";
import type { Site } from "../types/site.ts";
export declare class MarkdownSite implements Site {
    #private;
    buildPagePath(slug: string): string;
    hasPage(path: string): boolean;
    createPage(path: string): Renderer;
    render(): Record<string, string>;
    protected getRenderer(_options: {
        currentPagePath: string;
    }): Renderer;
}
export declare const rendererLines: unique symbol;
export declare class MarkdownRenderer implements Renderer {
    #private;
    [rendererLines]: string[];
    escapeText(text: string, { escape }: {
        escape: Escape;
    }): string;
    insertFrontMatter(_: {
        sidebarPosition: string;
        sidebarLabel: string;
    }): void;
    appendHeading(level: number, text: string, { escape }?: AppendOptions): void;
    appendText(text: string, { escape }?: AppendOptions): void;
    appendCodeBlock(text: string, options?: {
        variant: "default";
        language?: string;
    } | {
        variant: "raw";
        language?: never;
    }): void;
    appendList(items: string[], { escape }?: AppendOptions): void;
    appendRaw(text: string): void;
    beginExpandableSection(title: string, { isOpenOnLoad, escape, }: {
        isOpenOnLoad?: boolean;
    } & AppendOptions): void;
    endExpandableSection(): void;
    appendSidebarLink(_: {
        title: string;
        embedName: string;
    }): Renderer | undefined;
    appendTryItNow(_: {
        externalDependencies: Record<string, string>;
        defaultValue: string;
    }): void;
    render(): string;
}
//# sourceMappingURL=markdown.d.ts.map