import type { ASTNode, ASTNodeTypeString, ContractDefinition, SourceUnit } from '@solidity-parser/parser/src/ast-types'; export type ASTMap = { [K in ASTNodeTypeString]: U extends { type: K; } ? U : never; }; export type ASTTypeMap = ASTMap; export declare function findAll(astNodes: ASTNode | ASTNode[], nodeTypes: T | T[], filterFn?: (node: ASTTypeMap[T]) => boolean): ASTTypeMap[T][]; export declare function findOne(astNodes: ASTNode | ASTNode[], nodeTypes: T | T[], filterFn?: (node: ASTTypeMap[T]) => boolean): ASTTypeMap[T] | undefined; export declare function findChildren(astNode: SourceUnit, nodeTypes: T | T[], filterFn?: (node: ASTTypeMap[T]) => boolean): ASTNode[]; export declare function findContract(astNode: SourceUnit, contractName: string, filterFn?: (node: ContractDefinition) => boolean): ContractDefinition | undefined; export declare function findContractStrict(astNode: SourceUnit, contractName: string, filterFn?: (node: ContractDefinition) => boolean): ContractDefinition; export declare function getCanonicalImportedSymbolName(astNode: ASTNode, symbolName: string): [string, string] | undefined; //# sourceMappingURL=finders.d.ts.map