import { LockliftConfig } from "../../config";
export type BuilderConfig = {
    includesPath?: string;
    compilerPath: string;
    linkerLibPath: string;
    linkerPath: string;
    soldPath: string;
    compilerParams?: Array<string>;
    externalContracts: LockliftConfig["compiler"]["externalContracts"];
    externalContractsArtifacts: LockliftConfig["compiler"]["externalContractsArtifacts"];
    mode: "solc" | "sold";
};
type Option = {
    build: string;
    disableIncludePath: boolean;
    contracts: string;
    force: boolean;
    externalAbiFiles?: Array<string>;
};
export declare class Builder {
    private readonly config;
    private readonly compilerVersion;
    private options;
    private nameRegex;
    private docRegex;
    constructor(config: BuilderConfig, options: Option, compilerVersion: string);
    static create(config: BuilderConfig, options: Option): Builder;
    buildContracts(): Promise<boolean>;
    private compileContracts;
    buildDocs(): boolean;
    private parseDocs;
}
export {};
