import { BuilderProgram, CompilerOptionsValue, DiagnosticReporter, ParsedCommandLine, ProgramHost, System, CreateProgram } from "./_namespaces/lpc";
export type ReportEmitErrorSummary = (errorCount: number, filesInError: (ReportFileInError | undefined)[]) => void;
export interface ReportFileInError {
    fileName: string;
    line: number;
}
export interface BuildOptions {
    dry?: boolean;
    force?: boolean;
    verbose?: boolean;
    incremental?: boolean;
    assumeChangesOnlyAffectDirectDependencies?: boolean;
    declaration?: boolean;
    declarationMap?: boolean;
    emitDeclarationOnly?: boolean;
    sourceMap?: boolean;
    inlineSourceMap?: boolean;
    traceResolution?: boolean;
    [option: string]: CompilerOptionsValue | undefined;
}
export interface SolutionBuilderHost<T extends BuilderProgram> extends ProgramHost<T> {
    getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined;
    reportDiagnostic: DiagnosticReporter;
}
export declare function createSolutionBuilderHost<T extends BuilderProgram = BuilderProgram>(system?: System, createProgram?: CreateProgram<T>, reportDiagnostic?: DiagnosticReporter, reportSolutionBuilderStatus?: DiagnosticReporter, reportErrorSummary?: ReportEmitErrorSummary): void;
//# sourceMappingURL=lpcbuildPublic.d.ts.map