import { Command } from "../command";
import { CommandOptions } from "../types";
import { DefaultCommandValues } from "../constants";
import { LoggingConfig } from "@decaf-ts/logging";
declare enum Modes {
    CJS = "commonjs",
    ESM = "es2022"
}
declare const options: {
    prod: {
        type: string;
        default: boolean;
    };
    dev: {
        type: string;
        default: boolean;
    };
    docs: {
        type: string;
        default: boolean;
    };
    commands: {
        type: string;
        default: boolean;
    };
    banner: {
        type: string;
        default: boolean;
    };
};
export declare class BuildScripts extends Command<CommandOptions<typeof options>, void> {
    private replacements;
    private readonly pkgVersion;
    private readonly pkgName;
    constructor();
    patchFiles(p: string): void;
    private reportDiagnostics;
    private readConfigFile;
    private buildTs;
    private build;
    copyAssets(mode: Modes): void;
    buildCommands(): Promise<void>;
    bundle(mode: Modes, isDev: boolean, isLib: boolean, entryFile?: string, nameOverride?: string, externals?: string[], include?: string[]): Promise<void>;
    private buildByEnv;
    buildDev(): Promise<void>;
    buildProd(): Promise<void>;
    buildDocs(): Promise<void>;
    protected run<R>(answers: LoggingConfig & typeof DefaultCommandValues & {
        [k in keyof typeof options]: unknown;
    }): Promise<string | void | R>;
}
export {};
