import ts from "typescript";
export interface EmitResult {
    filename: string;
    contents: string;
    /** emit의 원본 소스 파일 경로 */
    sourceFileName: string;
}
export interface EmitOptions {
    /** emit 대상 소스 디렉토리 필터 (지정 시 해당 디렉토리의 파일만 emit) */
    sourceFilter?: (fileName: string) => boolean;
    /** Angular transformers 외 추가 transformers */
    additionalTransformers?: {
        before?: ts.TransformerFactory<ts.SourceFile>[];
        after?: ts.TransformerFactory<ts.SourceFile>[];
    };
}
export declare class AngularSourceFileCache extends Map<string, ts.SourceFile> {
    /** 누적 — TypeScript BuilderProgram 증분 빌드가 변경 파일을 추적하는 데 사용. clear 금지. */
    readonly modifiedFiles: Set<string>;
    /** per-cycle — sd-build-start에서 매 빌드 사이클마다 리셋. HMR 판정에만 사용. */
    cycleModifiedFiles: Set<string>;
    invalidate(files: Iterable<string>): void;
}
export declare function augmentHostWithCaching(host: ts.CompilerHost, cache: AngularSourceFileCache): void;
//# sourceMappingURL=angular-compiler.d.ts.map