export interface ChangedSubjects { readonly range: string; readonly concepts: readonly string[]; readonly relationships: readonly string[]; /** Subjects whose entire declaration is new in the range (subset of * concepts + relationships); the rest changed in place. */ readonly added: readonly string[]; } export type ChangedResult = { readonly ok: true; readonly changed: ChangedSubjects; } | { readonly ok: false; readonly message: string; }; export declare const lineOfOffset: (lineStarts: readonly number[], offset: number) => number; export interface DiffRanges { readonly touched: ReadonlyArray; readonly inserted: ReadonlyArray; } export declare const changedLineRanges: (diff: string) => DiffRanges; export declare function deriveChangedSubjects(cwd: string, range: string, documents: ReadonlyArray<{ readonly path: string; readonly source: string; readonly documentId: string; }>): ChangedResult;