import { Abi, ClassNode, CodeKind, CodeDef, FieldNode, FunctionNode, InterfaceNode, MethodNode, ObjectNode, ProxyInterfaceNode, ProxyNode } from "./types.js"; export declare class AbiQuery { #private; abi: Abi; constructor(abi: Abi); get hasResult(): boolean; allCode(): CodeDef[]; getCode(): CodeDef; getClass(): ClassNode; getClassFull(): ClassNode; getFunction(): FunctionNode; getInterface(): InterfaceNode; getInterfaceFull(): InterfaceNode; getObject(): ObjectNode; getField(name: string): FieldNode; getField(idx: number): FieldNode; getFieldIdx(name: string): number; getFieldsFull(): FieldNode[]; getMethod(name: string): MethodNode; getMethod(idx: number): MethodNode; getMethodIdx(name: string): number; getMethodsFull(): Array; getClassInterfaces(): Array; getClassParents(): ClassNode[]; getInterfaceParents(): InterfaceNode[]; getIndex(): number; byKind(kind: CodeKind): this; byKind(kinds: CodeKind[]): this; byIndex(idx: number): this; byName(name: string): this; fromExports(): this; fromImports(): this; toClassParent(): this; search(name: string): CodeDef | FieldNode | MethodNode; reset(): this; } export declare function assertExists(bool: T | null | undefined, msg?: string): asserts bool is T; export declare function assertNodeKind(node: any, keys: Array, kind?: CodeKind): asserts node is T; export declare function assertClass(node: any): asserts node is ClassNode; export declare function assertFunction(node: any): asserts node is FunctionNode; export declare function assertInterface(node: any): asserts node is InterfaceNode; export declare function assertObject(node: any): asserts node is ObjectNode; export declare function assertProxy(node: any): asserts node is ProxyNode; export declare function assertClassLike(node: any): asserts node is ClassNode | InterfaceNode; export declare function assertFunctionLike(node: any): asserts node is FunctionNode | MethodNode; export declare function assertField(node: any): asserts node is FieldNode; export declare function assertMethod(node: any): asserts node is MethodNode; export declare function isNodeKind(node: any, keys: Array, kind?: CodeKind): node is T; export declare function isClass(node: any): node is ClassNode; export declare function isFunction(node: any): node is FunctionNode; export declare function isInterface(node: any): node is InterfaceNode; export declare function isObject(node: any): node is ObjectNode; export declare function isProxy(node: any): node is ProxyNode; export declare function isClassLike(node: any): node is ClassNode | InterfaceNode | ObjectNode; export declare function isFunctionLike(node: any): node is FunctionNode | MethodNode; export declare function isField(node: any): node is FieldNode; export declare function isMethod(node: any): node is MethodNode; //# sourceMappingURL=query.d.ts.map