import { Asset } from '../resolve/index';
import { Action } from '../cache/index';
import { Dispose } from '../dispose';
export interface BuilderOptions {
    platform: string;
    target: string[];
    bundle: boolean;
    external: string[];
    minify: boolean;
    sourcemap: boolean;
    watch: boolean;
    node: boolean;
    esm: boolean;
}
export declare class Build implements Dispose {
    private readonly options;
    private readonly handles;
    constructor(options: BuilderOptions);
    update(actions: Action<Asset>[]): Promise<void>;
    dispose(): void;
    private onInsert;
    private onUpdate;
    private onDelete;
    private copyAsset;
    private startEsbuild;
    private stopEsBuild;
}
