import type { TSESTree } from '@typescript-eslint/utils'; export declare function isNodeTypeClass(node: TSESTree.ClassDeclaration): boolean; export declare function isCredentialTypeClass(node: TSESTree.ClassDeclaration): boolean; /** Matches this plugin's convention for identifying trigger nodes: class name ends with `Trigger`. */ export declare function isTriggerNodeClass(node: TSESTree.ClassDeclaration): boolean; /** * `group` is the authoritative signal for "is this a trigger node" (also catches e.g. Cron, * Webhook, versioned `*TriggerV1` classes); the name suffix is kept as a fallback for dynamic * `group` values. */ export declare function isTriggerNode(node: TSESTree.ClassDeclaration, descriptionValue: TSESTree.ObjectExpression): boolean; /** * Returns the name a property key stands for, or null when it is only known at * runtime. `delete`, `'delete'` and `['delete']` all name the same property, so * how the key is written must not decide whether a rule sees it. */ export declare function getPropertyKeyName(property: TSESTree.Property | TSESTree.PropertyDefinition | TSESTree.MethodDefinition): string | null; export declare function findClassProperty(node: TSESTree.ClassDeclaration, propertyName: string): TSESTree.PropertyDefinition | null; /** * Returns the `description` object literal of a node class. Versioned nodes * follow the layout in the node-building docs and assign `this.description` in * their constructor, so look there when the class property has no initializer. */ export declare function findNodeDescriptionObject(node: TSESTree.ClassDeclaration): TSESTree.ObjectExpression | null; export declare function findObjectProperty(obj: TSESTree.ObjectExpression, propertyName: string): TSESTree.Property | null; export declare function getLiteralValue(node: TSESTree.Node | null): string | boolean | number | null; export declare function getStringLiteralValue(node: TSESTree.Node | null): string | null; export declare function getModulePath(node: TSESTree.Node | null): string | null; export declare function getBooleanLiteralValue(node: TSESTree.Node | null): boolean | null; export declare function findJsonProperty(obj: TSESTree.ObjectExpression, propertyName: string): TSESTree.Property | null; export declare function findArrayLiteralProperty(obj: TSESTree.ObjectExpression, propertyName: string): TSESTree.ArrayExpression | null; export declare function hasArrayLiteralValue(node: TSESTree.PropertyDefinition, searchValue: string): boolean; export declare function getTopLevelObjectInJson(node: TSESTree.ObjectExpression): TSESTree.ObjectExpression | null; export declare function isFileType(filename: string, extension: string): boolean; export declare function isDirectRequireCall(node: TSESTree.CallExpression): boolean; export declare function isRequireMemberCall(node: TSESTree.CallExpression): boolean; export declare function extractCredentialInfoFromArray(element: TSESTree.ArrayExpression['elements'][number]): { name: string; testedBy?: string; node: TSESTree.Node; } | null; export declare function extractCredentialNameFromArray(element: TSESTree.ArrayExpression['elements'][number]): { name: string; node: TSESTree.Node; } | null; /** Matches the `this.helpers` MemberExpression (the object part of `this.helpers.foo`). */ export declare function isThisHelpersAccess(node: TSESTree.MemberExpression): boolean; /** Execution context interfaces from `n8n-workflow` that expose a `helpers` object. */ export declare const EXECUTION_CONTEXT_TYPES: Set; /** * Matches `.helpers.` for any receiver, and a bare `helpers.` left by * destructuring. Deliberately does not identify the receiver: the rule runs without type * information, so callers gate this on the file importing an execution context type instead. */ export declare function isHelpersAccess(node: TSESTree.MemberExpression): boolean; /** Matches a call expression of the form `this.methodName(...)`. */ export declare function isThisMethodCall(node: TSESTree.CallExpression, method: string): boolean; /** Matches a call expression of the form `this.helpers.methodName(...)`. */ export declare function isThisHelpersMethodCall(node: TSESTree.CallExpression, method: string): boolean; export declare function findSimilarStrings(target: string, candidates: Set, maxDistance?: number, maxResults?: number): string[]; //# sourceMappingURL=ast-utils.d.ts.map