import type { Diagnostic } from '../types.js'; import type { SfmcSettings } from '../types.js'; export declare const DIAG_CODE_HTML_WRAPPED_COMMENT = "ampscript/html-wrapped-comment"; export declare const DIAG_CODE_HTML_COMMENT = "ampscript/html-comment"; export declare const DIAG_CODE_JS_LINE_COMMENT = "ampscript/js-line-comment"; export declare const DIAG_CODE_NESTED_SCRIPT_TAG = "ampscript/nested-script-tag"; export declare const DIAG_CODE_NESTED_DELIMITER_IN_SCRIPT = "ampscript/nested-delimiter-in-script"; export declare const DIAG_CODE_NESTED_DELIMITER = "ampscript/nested-delimiter"; export declare const DIAG_CODE_DEPRECATED_FUNCTION = "ampscript/deprecated-function"; export declare const DIAG_CODE_UNKNOWN_FUNCTION = "ampscript/unknown-function"; export declare const DIAG_CODE_FUNCTION_ARITY = "ampscript/function-arity"; export declare const DIAG_CODE_ARG_TYPE = "ampscript/arg-type"; export declare const DIAG_CODE_ENUM_VALUE = "ampscript/enum-value"; export declare const DIAG_CODE_SMART_QUOTES = "ampscript/smart-quotes"; export declare const DIAG_CODE_SET_NO_TARGET = "ampscript/set-no-target"; export declare const DIAG_CODE_MCN_UNSUPPORTED_FUNCTION = "ampscript/mcn-unsupported-function"; /** * Diagnostic codes that duplicate eslint-plugin-sfmc rules and can be * suppressed via the `disableLspDiagnosticsForEslintRules` setting. */ export declare const ESLINT_DUPLICATE_DIAG_CODES: Set; /** * Validate an AMPscript document and return LSP Diagnostics. * @param text - Full document text. * @param settings - Validation settings. * @returns Array of LSP Diagnostic objects. */ export declare function validateAmpscript(text: string, settings?: SfmcSettings): Diagnostic[]; export interface AmpscriptCallSite { /** Canonical-case function name as it appears in the catalog. */ name: string; /** Zero-based line number of the function name. */ line: number; /** Zero-based column of the first character of the function name. */ col: number; } /** * Extract every AMPscript function call site from the given code. * Only calls to functions that exist in the AMPscript catalog are returned; * unknown identifiers and control-flow keywords are ignored. * @param code - Full document text (may include HTML with embedded AMPscript). * @returns Array of call sites in document order. */ export declare function extractAmpscriptFunctionCalls(code: string): AmpscriptCallSite[]; //# sourceMappingURL=ampscript.d.ts.map