import type * as ServerBuildWorkerModule from "../workers/server-build.worker";
import type { ResultCollector } from "../runtime/ResultCollector";
import type { RebuildManager } from "../runtime/rebuild-manager";
import type { BuildOutput, EngineResult, ServerPackageInfo } from "./types";
import { BaseEngine, type CommonBuildWorkerModule } from "./BaseEngine";
/**
 * ServerEsbuildEngine 옵션
 */
export interface ServerEsbuildEngineOptions {
    cwd: string;
    pkg: ServerPackageInfo;
    /** sd.config.ts의 replaceDeps 설정 */
    replaceDeps?: Record<string, string>;
    /** 워치 모드 리빌드 보고용 ResultCollector */
    resultCollector?: ResultCollector;
    /** 워치 모드 배치 조정용 RebuildManager */
    rebuildManager?: RebuildManager;
}
/**
 * esbuild 기반 서버 패키지용 빌드 엔진
 *
 * esbuild(JS 번들) + tsc(타입체크)를 하나의 Worker 스레드에서 결합하는
 * server-build.worker를 래핑한다.
 */
export declare class ServerEsbuildEngine extends BaseEngine<ServerPackageInfo, typeof ServerBuildWorkerModule & CommonBuildWorkerModule> {
    constructor(options: ServerEsbuildEngineOptions);
    protected _getWorkerPath(): string;
    protected _getTarget(): string;
    protected _callBuild(output: BuildOutput): Promise<EngineResult>;
    protected _callStartWatch(output: BuildOutput): Promise<void>;
}
//# sourceMappingURL=ServerEsbuildEngine.d.ts.map