import type { RclConfig } from '../config/types.js'; import type { CompilationResult, Diagnostic, EmitResult, RclProgram as IRclProgram, SourceFile } from './types.js'; /** * Implementation of RclProgram interface */ export declare class RclProgram implements IRclProgram { private config; private sourceFiles; private diagnostics; private semanticDiagnostics; private compiler; private emitter; constructor(configPath?: string); /** * Get the configuration */ getConfiguration(): RclConfig; /** * Compile a single file */ compileFile(filePath: string): Promise; /** * Get all diagnostics */ getDiagnostics(): Diagnostic[]; /** * Get semantic diagnostics (type checking, validation) */ getSemanticDiagnostics(): Diagnostic[]; /** * Get syntactic diagnostics (parse errors) */ getSyntacticDiagnostics(): Diagnostic[]; /** * Emit compiled files */ emit(): Promise; /** * Get source files in the program */ getSourceFiles(): SourceFile[]; /** * Add a source file to the program */ addSourceFile(filePath: string): Promise; } //# sourceMappingURL=RclProgram.d.ts.map