import type { AnalyzerPlugin, Finding, PluginAdapter } from "./types.js"; export declare function nodeName(node: any): string | undefined; export declare function unwrapExpression(node: any): any; export declare function memberName(node: any): string | undefined; export declare function getMemberCall(node: any): { call: any; object: any; method: string; } | undefined; export declare function objectProperty(object: any, key: string): any | undefined; export declare function hasObjectProperty(object: any, key: string): boolean; export declare function isLiteralTrue(node: any): boolean; export declare function functionScope(ancestors: any[]): string; export declare function hasAncestorLoop(ancestors: any[]): boolean; export declare function hasRequestHandlerAncestor(ancestors: any[]): boolean; export declare function rangeContains(container: any, node: any): boolean; export declare function isWithinTidy(node: any, ancestors: any[], tfNames: Set): boolean; export declare function importLocals(node: any, packageNames: Set, importedName: string): string[]; export declare function isPackageImport(node: any, packageNames: Set): boolean; export declare function isPackageRequire(node: any, packageNames: Set): boolean; export declare function hasDeclaredPackage(adapter: PluginAdapter, packageNames: readonly string[]): Promise; export declare function markPackageImport(node: any, packageNames: Set, adapter: PluginAdapter): void; export declare function emitOnce(emitted: Set, adapter: PluginAdapter, key: string, finding: Omit & { rule?: string; }): void; export type PluginDefinition = Pick;