import { Example, ExamplesRoot } from "../types"; import { Renderer, Report } from "./common"; export type IndexReport = Report; export interface ExampleReport extends Report { example: Example; } export interface Checks { fail: number; failPaths: string[]; okay: number; okayPaths: string[]; percentage: number; total: number; } export interface ContentBuilderConfig { /** The tree structure with examples in it's leaves. */ examples: ExamplesRoot; /** The directory where built files will be saved. */ output: string; /** How many screenshots to generate at the same time. */ parallel: number; /** The renderer used to generate index files. */ renderer: Renderer; /** A script that will be executed on each page as first. */ screenshotScript: string; /** A title that will be passed to the renderer. */ title: string; } export interface ContentBuilderRet { checks: Promise; index: Promise; playgrounds: Promise; screenshots: Promise; } export declare class ContentBuilder { private readonly _config; constructor(_config: ContentBuilderConfig); /** * Build the files and write them to the disk. * @param emit - Which types of files to emit. * @param emit.index * @param emit.playgrounds * @param emit.screenshots * @returns A report with check results and the number of written files. */ build(emit?: { index?: boolean; playgrounds?: boolean; screenshots?: boolean; }): ContentBuilderRet; private _processGroup; } //# sourceMappingURL=builder.d.ts.map