import type { ESTree } from "meriyah"; export type NodeCounterFilterCallback = (node: T) => boolean; export type NodeCounterMatchCallback = (node: T, nc: NodeCounter) => void; export interface NodeCounterOptions { name?: string; filter?: NodeCounterFilterCallback; match?: NodeCounterMatchCallback; } export declare class NodeCounter { #private; type: string; name: string; lookup: string | null; /** * @example * new NodeCounter("FunctionDeclaration"); * new NodeCounter("VariableDeclaration[kind]"); */ constructor(type: string, options?: NodeCounterOptions); get count(): number; get properties(): Record; walk(node: ESTree.Node): void; } //# sourceMappingURL=NodeCounter.d.ts.map