/** * Raw AOT XML for an object, by name. * * The readers render metadata; they never show the file. Callers that want the * actual XML — to copy a convention, to see element order, to check what a * previous write produced — had no tool for it and went to the shell: * `Get-ChildItem -Recurse` to find the path, then `Get-Content -Raw` to read * it. A recursive scan of PackagesLocalDirectory costs seconds; this is one * indexed lookup. */ import { type SymbolFileLookupSource } from '../../utils/objectFileLookup.js'; export interface ObjectXmlOptions { modelName?: string; /** * The symbol index, when the caller has one. Without it this falls back to the * configured model's folder layout, which only ever finds objects in that model. */ index?: SymbolFileLookupSource; /** 1-based, inclusive. Omit both for the whole file (up to maxChars). */ startLine?: number; endLine?: number; maxChars?: number; } export interface ObjectXmlResult { text: string; isError: boolean; } /** Render a file already located. Split out so it is testable without config. */ export declare function renderObjectXml(filePath: string, objectType: string, objectName: string, options?: ObjectXmlOptions): Promise; /** * The message for an object with no file — never an empty result. * * `elsewhere` are the models the index says DO hold an object of this name. Naming * them is the whole difference between a message the caller can act on and one it * can only guess at: "pass options.modelName" sent an agent looking for * JournalVoucherNum in "Application Foundation" (wrong) before "Foundation" * (right), three calls for one file. An empty list is itself an answer — no model * has it, so retrying with a different modelName cannot help. */ export declare function objectXmlNotFound(objectType: string, objectName: string, modelName?: string, elsewhere?: string[]): ObjectXmlResult; export declare function readObjectXml(objectType: string, objectName: string, options?: ObjectXmlOptions): Promise; //# sourceMappingURL=objectXml.d.ts.map