/** * @param {import("./interpreter").Interpreter} interp * @param {{ name: string, params: string[], kwargs: { [key: string]: string }, hasBlockParam: boolean, blockParamName: string, body: any[] }} macro * @param {{ name: string, attrs: any, inline_content: any[], children: any[] }} call * @param {import("./env").Env} env * @returns {any} */ export function expandMacro(interp: { globalEnv: import("./env").Env; baseDir: string; loadedModules: Set; refs: { sections: Record; labels: Record; citations: Record; }; citationCounter: number; footnoteCounter: number; footnoteEntries: { number: string; content: any[]; }[]; evalDocument(doc: { tag: string; data: any; }): { tag: string; data: any; }; collectReferences(doc: { tag: string; data: any; }): void; buildTocTree(): Array<{ id: string; number: string; title: string; children: any[]; }>; evalNode(node: { tag: string; data: any; }, env: import("./env").Env): any; evalInterpolationExpr(expr: string, env: import("./env").Env): any; resolveInterpolations(str: string, env: import("./env").Env): string; evalAttrs(attrs: { [key: string]: string; }, env: import("./env").Env): { [key: string]: string; }; evalBlock(block: { name: string; attrs: any; inline_content: any[]; children: any[]; }, env: import("./env").Env): { tag: string; data: any; }; collectArgs(nodes: any[], env: import("./env").Env, attrs: { [key: string]: string; }): string[]; collectCodeText(inline_content: any[], children: any[]): string; execCodeBlock(codeBlock: { inline_content: any[]; children: any[]; }, env: import("./env").Env): { tag: string; data: { value: string; }; } | null; evalInline(inl: { name: string; attrs: any; content: any[]; }, env: import("./env").Env): { tag: string; data: any; }; evalText(_text: { value: string; }, _env: any): { tag: string; data: { value: string; }; }; evalInterpolation(interp: { expression: string; }, env: import("./env").Env): { tag: string; data: { value: string; }; }; evalChildren(children: any[], env: import("./env").Env): any[]; evalInlineList(nodes: any[], env: import("./env").Env): any[]; evalList(list: { items: any[]; ordered: boolean; }, env: import("./env").Env): { tag: string; data: any; }; evalIf(ifblk: any, env: any): any; evalFor(forblk: any, env: any): any; evaluateCondition(condition: any, env: any): boolean; parseCondition(tokens: any, env: any): boolean; resolveModulePath(modulePath: any): string | null; evalUse(modulePath: any): void; }, macro: { name: string; params: string[]; kwargs: { [key: string]: string; }; hasBlockParam: boolean; blockParamName: string; body: any[]; }, call: { name: string; attrs: any; inline_content: any[]; children: any[]; }, env: import("./env").Env): any; /** * @param {{ tag: string, data: any }} node * @param {string} blockParamName * @param {any[]} callChildren */ export function replaceBlockParamRef(node: { tag: string; data: any; }, blockParamName: string, callChildren: any[]): { tag: string; data: any; };