import type { EastDiagnostic, EastRule, EastRulesOptions } from "./types.js"; export interface DiagnosticsServiceOptions { rules?: readonly EastRule[]; rulesOptions?: EastRulesOptions; } export interface DiagnosticsService { /** Native (semantic + syntactic) diagnostics for the file plus East rule * diagnostics, sorted by position. Returns `[]` if the file has no project. */ diagnose(filePath: string): EastDiagnostic[]; /** `diagnose`, rendered as an `` block, or `""` if clean. */ diagnoseText(filePath: string): string; /** Pre-build the LanguageService for the project nearest `fromDir` so the * first real `diagnose` doesn't pay the cold program+checker build. Returns * `false` when there is no tsconfig above `fromDir`. */ warm(fromDir: string): boolean; /** Provide in-memory content for a file (an LSP buffer); takes precedence * over the on-disk content until cleared. */ setOverlay(filePath: string, content: string): void; /** Drop the overlay for a file, reverting to on-disk content. */ clearOverlay(filePath: string): void; dispose(): void; } export declare function createDiagnosticsService(options?: DiagnosticsServiceOptions): DiagnosticsService; //# sourceMappingURL=service.d.ts.map