import { NodePath, Node } from './types'; import { MatchResult } from './compileMatcher'; import { Backend } from './backend/Backend'; export declare type Match = { type: 'node' | 'nodes'; path: NodePath; node: Node; paths: NodePath[]; nodes: Node[]; pathCaptures?: Record; captures?: Record; arrayPathCaptures?: Record; arrayCaptures?: Record; stringCaptures?: Record; }; export declare type FindOptions = { backend: Backend; where?: { [captureName: string]: (path: NodePath) => boolean; }; matchSoFar?: MatchResult; }; export declare function convertWithCaptures(matches: Match | Match[]): MatchResult; export declare function createMatch(paths: NodePath | NodePath[], result: MatchResult): Match; export default function find(paths: NodePath | readonly NodePath[], pattern: NodePath | readonly NodePath[], options: FindOptions): Match[];