/** * Get EDT Info Tool * Extract Extended Data Type (EDT) properties from AxEdt metadata * * Standard mode: C# bridge (IMetadataProvider) — 100% reliable, always available on VM. * Hierarchy mode: SQLite (edt_metadata table) — ancestor chain walk + children + field usages. */ import type { CallToolRequest } from '@modelcontextprotocol/sdk/types.js'; import type { XppServerContext } from '../../types/context.js'; export declare function getEdtInfoTool(request: CallToolRequest, context: XppServerContext): Promise<{ content: { type: string; text: string; }[]; isError: boolean; } | { content: { type: string; text: string; }[]; }>; /** * The string size `edtName` has according to the symbol index: its own when `edt_metadata` * stores one, otherwise the nearest `extends` ancestor's -- with the EDT that declares it. * Null when nothing on the chain stores a size (a non-string EDT, or one the index lacks). * * This is the only way to answer "how long is this field" without the bridge: the index keeps * a field's EDT, not its length, and a derived EDT usually declares no size of its own * (CustName declares none and is DirPartyName's 160). Same limitation as * {@link resolveIndexedStringSize}: a declared size that the platform overrides is reported * as declared. */ export declare function indexedEdtStringSize(db: any, edtName: string | undefined | null, seen?: Set): { value: string; declaredBy: string; } | null; /** * What an index-derived string size does not account for. The index stores no size for an * EDT extension, and an extension may change StringSize -- so the number is the base * metadata's, and a model that extends the EDT can make it larger. */ export declare const INDEXED_SIZE_CAVEAT: string; //# sourceMappingURL=edtInfo.d.ts.map