import type { MarkdocError, CommonError, ErrorSeverity, PageRenderError } from '../../../types/index.js';
import type { ContentFs } from '../../fs/content-fs.js';
export declare class Reporter {
    #private;
    pushError(message: string, severity: ErrorSeverity, ...args: any[]): void;
    reportBrokenLink(details: CommonError & {
        type: 'BROKEN_LINK';
    }): void;
    reportCompilationError(details: CommonError & {
        type: 'ERROR';
    }): void;
    reportPageRenderError(details: PageRenderError): void;
    panicOnBuild(message: string | Error, ...args: any[]): Promise<void>;
    panicOnBuildContentErrorForRealFile(message: string | Error, relativePath: string, fs: ContentFs, ...args: any[]): Promise<void>;
    panicOnBuildContentError(message: string | Error, ...args: any[]): Promise<void>;
    panic(message: string | Error, ...args: any[]): Promise<void>;
    panicOnContentError(message: string | Error, ...args: any[]): Promise<void>;
    reportMarkdocProblem(details: MarkdocError): void;
    clearErrors(): void;
    clearMarkdocProblems(): void;
    clearEsbuildProblems(): void;
    clearPageRenderProblems(): void;
    getCompilationProblem(key: string): CommonError | undefined;
    getCompilationProblems(): CommonError[];
    getPageRenderProblems(): PageRenderError[];
    getPageRenderProblem(fsPath: string): PageRenderError | undefined;
    getProblems(): (PageRenderError | {
        severity: ErrorSeverity;
        type: 'ERROR';
        message: string;
        codeframe?: string | undefined;
        sourceFileRelativePath?: string;
        sourceFileLocation?: {
            line: number;
            character?: number;
        };
    } | ({
        message: string;
        codeframe?: string;
        type: "BROKEN_LINK" | "MARKDOC" | "RESOLVE";
        brokenLinkType?: import("../../../types/index.js").BrokenLinkType;
        sourceFileRelativePath: string;
        sourceFileLocation: import("@markdoc/markdoc").LocationEdge;
    } & {
        type: 'BROKEN_LINK';
        link: string;
        rawLink: string;
        title: string;
    }) | ({
        message: string;
        codeframe?: string;
        type: "BROKEN_LINK" | "MARKDOC" | "RESOLVE";
        brokenLinkType?: import("../../../types/index.js").BrokenLinkType;
        sourceFileRelativePath: string;
        sourceFileLocation: import("@markdoc/markdoc").LocationEdge;
    } & {
        type: 'MARKDOC';
    }) | ({
        message: string;
        codeframe?: string;
        type: "BROKEN_LINK" | "MARKDOC" | "RESOLVE";
        brokenLinkType?: import("../../../types/index.js").BrokenLinkType;
        sourceFileRelativePath: string;
        sourceFileLocation: import("@markdoc/markdoc").LocationEdge;
    } & {
        type: 'RESOLVE';
        rawLink: string;
    }))[];
    summary(timing: string, pages?: number): (PageRenderError | {
        severity: ErrorSeverity;
        type: 'ERROR';
        message: string;
        codeframe?: string | undefined;
        sourceFileRelativePath?: string;
        sourceFileLocation?: {
            line: number;
            character?: number;
        };
    } | ({
        message: string;
        codeframe?: string;
        type: "BROKEN_LINK" | "MARKDOC" | "RESOLVE";
        brokenLinkType?: import("../../../types/index.js").BrokenLinkType;
        sourceFileRelativePath: string;
        sourceFileLocation: import("@markdoc/markdoc").LocationEdge;
    } & {
        type: 'BROKEN_LINK';
        link: string;
        rawLink: string;
        title: string;
    }) | ({
        message: string;
        codeframe?: string;
        type: "BROKEN_LINK" | "MARKDOC" | "RESOLVE";
        brokenLinkType?: import("../../../types/index.js").BrokenLinkType;
        sourceFileRelativePath: string;
        sourceFileLocation: import("@markdoc/markdoc").LocationEdge;
    } & {
        type: 'MARKDOC';
    }) | ({
        message: string;
        codeframe?: string;
        type: "BROKEN_LINK" | "MARKDOC" | "RESOLVE";
        brokenLinkType?: import("../../../types/index.js").BrokenLinkType;
        sourceFileRelativePath: string;
        sourceFileLocation: import("@markdoc/markdoc").LocationEdge;
    } & {
        type: 'RESOLVE';
        rawLink: string;
    }))[];
    printErrors(errors?: Array<MarkdocError | CommonError>): void;
}
export declare const reporter: Reporter;
//# sourceMappingURL=reporter.d.ts.map