import { type BuildApp, type LoggerService } from "../../../abstractions/index.js"; import { RunnableBuildProcesses } from "./RunnableBuildProcesses.js"; import { type IPackagesBuilder } from "../../../abstractions/models/index.js"; export interface IBasePackagesBuilderPackage { name: string; webinyConfig: Record; paths: { packageFolder: string; webinyConfigFile: string; }; } export type BeforeAfterBuildCallback = (params: BuildApp.Params) => void | Promise; export interface IBasePackagesBuilderParams { packages: IBasePackagesBuilderPackage[]; logger: LoggerService.Interface; params: BuildApp.Params; } export declare class PackagesBuilder implements IPackagesBuilder { readonly packages: IBasePackagesBuilderPackage[]; readonly params: BuildApp.Params; readonly logger: LoggerService.Interface; beforeBuildCallbacks: BeforeAfterBuildCallback[]; afterBuildCallbacks: BeforeAfterBuildCallback[]; constructor({ packages, params, logger }: IBasePackagesBuilderParams); prepare(): RunnableBuildProcesses; getPackages(): IBasePackagesBuilderPackage[]; onBeforeBuild(callback: BeforeAfterBuildCallback): void; onAfterBuild(callback: BeforeAfterBuildCallback): void; getOnBeforeBuildCallbacks(): BeforeAfterBuildCallback[]; getOnAfterBuildCallbacks(): BeforeAfterBuildCallback[]; getBuildParams(): import("../../../abstractions/features/BuildApp.js").IBuildAppParams; }