/** * Markdown documentation builders for AMPscript functions, SSJS functions, * ECMAScript built-ins, and file-local SSJS function declarations. */ import type { AmpscriptFunction } from '../data/ampscript.js'; import type { SsjsFunction, EcmascriptBuiltin } from '../data/ssjs.js'; import type { HandlebarsHelper, HandlebarsBinding } from '../data/handlebars.js'; export interface LocalSsjsFunction { name: string; params: string[]; description: string; paramDocs: Map; returnType: string; startOffset: number; } /** * Build typed-signature Markdown for an AMPscript function. * @param fn - AMPscript function descriptor. * @param links - Optional documentation URLs, MCN status, and notes to render below the description. * @param links.docUrl - URL to the official Salesforce developer documentation page. * @param links.guideUrl - URL to the ampscript.guide reference page. * @param links.mcnSince - API version from which MCN supports this function, or null if unsupported. * @param links.mcnNotes - Behavioral difference notes for MCN, or null if no differences. * @returns Markdown string with signature, description, params, MCN status, and example. */ export declare function buildFunctionMarkdown(fn: AmpscriptFunction, links?: { docUrl?: string; guideUrl?: string; mcnSince?: number | null; mcnNotes?: string | null; }): string; /** * Build typed-signature Markdown for an SSJS function or method. * @param fn - SSJS function descriptor. * @returns Markdown string with signature, description, params, and example. */ export declare function buildSsjsFunctionMarkdown(fn: SsjsFunction): string; /** * Build Markdown for an ECMAScript built-in method. * @param builtin - ECMAScript built-in descriptor. * @returns Markdown string with signature, description, params, and example. */ export declare function buildEcmascriptBuiltinMarkdown(builtin: EcmascriptBuiltin): string; /** * Build Markdown documentation for a file-local SSJS function declaration. * @param fn - Local SSJS function descriptor. * @returns Markdown string with signature and parameter documentation. */ export declare function buildLocalFunctionMarkdown(fn: LocalSsjsFunction): string; /** * Build a snippet string for an AMPscript function with parameter placeholders. * @param fn - AMPscript function descriptor. * @returns VS Code snippet string with tab-stop placeholders. */ export declare function buildFunctionSnippet(fn: AmpscriptFunction): string; /** * Build a snippet string for an SSJS function with parameter placeholders. * @param fn - SSJS function descriptor. * @returns VS Code snippet string with tab-stop placeholders. */ export declare function buildSsjsFunctionSnippet(fn: SsjsFunction): string; /** * Build typed-signature Markdown for an MCN Handlebars helper. * @param helper - Handlebars helper descriptor. * @returns Markdown string with signature, description, params, and doc link. */ export declare function buildHandlebarsHelperMarkdown(helper: HandlebarsHelper): string; /** * Build Markdown documentation for a built-in `{!$...}` data binding. * @param binding - Handlebars binding descriptor. * @returns Markdown string with the token, description, and metadata. */ export declare function buildHandlebarsBindingMarkdown(binding: HandlebarsBinding): string; /** * Build a snippet string for an MCN Handlebars helper. * * The snippet contains no `{{ }}` braces — completion is triggered while the * cursor is already inside a mustache, and brace auto-closing behavior varies * by editor, so emitting braces here risks producing broken fragments. Block * helpers are prefixed with `#` (e.g. `#each collection`); inline helpers use * the bare name (e.g. `add value1 value2`). Helpers declared as `both` default * to the inline form. * @param helper - Handlebars helper descriptor. * @returns VS Code snippet string with tab-stop placeholders. */ export declare function buildHandlebarsHelperSnippet(helper: HandlebarsHelper): string; //# sourceMappingURL=markdown.d.ts.map