import type { Literal, Identifier, MemberExpression, TemplateLiteral, ArrayExpression } from "estree"; export declare const isArrayExpression: (node: unknown) => node is ArrayExpression; export declare const isStringLiteral: (node: unknown) => node is Literal & { value: string; }; export declare function normalizeBracedExpressions(input: string): string; /** * Parses a string with {!%&brackets&%!} and returns an ArrayExpression AST node. */ export declare function composeArrayExpressionForCodeFence(value: string): ArrayExpression; /** * Parses a string with {!%&brackets&%!} and returns if, * MemberExpression or Identifier if the entire value is just a single expression * TemplateLiteral if it contains static text mixed with expressions. */ export declare function composeTemplateLiteralForCodeFence(value: string): TemplateLiteral | MemberExpression | Identifier; /** * Parses a string with {brackets} and returns if, * MemberExpression or Identifier if the entire value is just a single expression * TemplateLiteral if it contains static text mixed with expressions. */ export declare function composeTemplateLiteral(value: string): TemplateLiteral | MemberExpression | Identifier; export declare function filterNameAllowOrExclude(name: string, allowed: string | string[] | true, excluded: string | string[] | true | undefined): boolean; /** * Generates a dynamic regex for interpolation syntax in code fences. * It strictly captures valid JavaScript identifiers or member expressions (e.g., name or props.user.name). * The target is capturing JavaScript object keys or dot-notated member expressions. */ export declare function getInterpolationRegexForCodeFence(open: string, strict: boolean): RegExp; //# sourceMappingURL=utils.d.ts.map