import type { ISdTsCompilerOptions, ISdTsCompilerEmitOptions } from "./sd-ts-compiler-options";
import type { ISdTsCompilerResult } from "./sd-ts-compiler-result";
import { type SideEffectScssEntry } from "../angular/ngtsc-build-core";
export declare class SdTsCompiler {
    private readonly _options;
    private _isForAngular?;
    private _sourceFileCache?;
    private _ngtscProgram?;
    private _builderProgram?;
    private _packageJsonCache?;
    private readonly _diagnosticCache;
    private _affectedSourceFiles;
    private readonly _scssErrors;
    private readonly _scssDependencies;
    private readonly _sideEffectScssRegistry;
    private _lintRunner?;
    private _crashContext?;
    private readonly _logger;
    constructor(options: ISdTsCompilerOptions);
    private _setCrashContext;
    private _formatCrashContext;
    private _createCrashDiagnostic;
    private _getScssLoadPaths;
    /** Side-effect SCSS 레지스트리 참조 (emit 코드에서 항목 등록용) */
    get sideEffectScssRegistry(): Map<string, SideEffectScssEntry>;
    /** Side-effect SCSS 레지스트리의 모든 항목을 CSS로 컴파일 */
    compileSideEffectScss(): void;
    /** SCSS 의존성 역방향 탐색: scssPath에 의존하는 파일 목록 반환 */
    findAffectedByScss(scssPath: string): string[];
    compileAsync(modifiedFiles?: ReadonlySet<string>, emitOptions?: ISdTsCompilerEmitOptions): Promise<ISdTsCompilerResult>;
    private _runLint;
    private _filterRootNames;
    private _buildCompilerOptions;
    private _createHost;
    private _collectDiagnosticsForTsc;
    private _collectDiagnosticsForAngular;
    private _finalizeDiagnostics;
    private _emitTsc;
    private _emitAngular;
    private _findAffectedFilesForTsc;
    private _findAffectedFilesForAngular;
    private _extendHostForAngular;
}
//# sourceMappingURL=SdTsCompiler.d.ts.map