import type * as LibraryBuildWorkerModule from "../workers/library-build.worker";
import type { ResultCollector } from "../runtime/ResultCollector";
import type { RebuildManager } from "../runtime/rebuild-manager";
import type { BuildOutput, BuildPackageInfo, EngineResult } from "./types";
import { BaseEngine, type CommonBuildWorkerModule } from "./BaseEngine";
/**
 * TscEngine 옵션
 */
export interface TscEngineOptions {
    cwd: string;
    pkg: BuildPackageInfo;
    /** sd.config.ts의 replaceDeps 설정 */
    replaceDeps?: Record<string, string>;
    /** 워치 모드 리빌드 보고용 ResultCollector */
    resultCollector?: ResultCollector;
    /** 워치 모드 배치 조정용 RebuildManager */
    rebuildManager?: RebuildManager;
}
/**
 * tsc 기반 라이브러리 패키지(node/browser/neutral)용 빌드 엔진
 *
 * tsc를 사용하여 JS + DTS를 emit하는 library-build.worker를
 * 하나의 Worker 스레드에서 래핑한다.
 */
export declare class TscEngine extends BaseEngine<BuildPackageInfo, typeof LibraryBuildWorkerModule & CommonBuildWorkerModule> {
    constructor(options: TscEngineOptions);
    protected _getWorkerPath(): string;
    protected _getTarget(): string;
    protected _callBuild(output: BuildOutput): Promise<EngineResult>;
    protected _callStartWatch(output: BuildOutput): Promise<void>;
}
//# sourceMappingURL=TscEngine.d.ts.map