/** * Pure renderer for forwarded message trees. * * Input is a tree of ForwardedNode (built in daemon.ts by walking Lark's * im.message.get response). Output is an XML block with deduplicated * participants — each unique sender appears once in , then * messages reference them by short alias (A, B, C...) saving tokens vs. * the previous `--- ${open_id} ---` per-line format. */ export interface ForwardedNode { /** open_id of the sender (for both user and app types). May be empty if Lark omits it. */ senderOpenId: string; senderType: 'user' | 'app' | 'unknown'; /** Optional human-readable name (resolved when sender is one of our bots / chat-mate bots). */ senderName?: string; /** Leaf message text content — present when this is not a nested merged-forward wrapper. */ content?: string; /** Children — present when this node IS a nested merged-forward, replacing `content`. */ children?: ForwardedNode[]; } /** Render a forwarded message tree as a single XML block. */ export declare function renderForwardedXml(nodes: ForwardedNode[]): string; //# sourceMappingURL=forwarded-renderer.d.ts.map