import * as ESTree from 'estree'; import { NodeType, NodeByType, Node } from './types'; declare type WalkerCallback = (node: ESTree.Node, state: TState) => void; declare type WalkerFn = (node: NodeByType, state: TState | Node[], ancestors: Node[]) => any; declare type Visitors = { [type in NodeType]?: WalkerFn; }; declare type RecursiveWalkerFn = (node: NodeByType, state: TState | undefined, callback: WalkerCallback) => void; declare type RecursiveVisitors = { [type in NodeType]?: RecursiveWalkerFn; }; export declare function walk(node: Node, visitors: Visitors, base?: RecursiveVisitors, state?: TState, _override?: NodeType): Node; export declare function findNodeAt(node: Node, range: [number, number], test: TNode['type'], base?: RecursiveVisitors<{}>): TNode | undefined; export {}; //# sourceMappingURL=walk.d.ts.map