import type { Abi as SchemaAbi } from "@truffle/contract-schema/spec"; import type * as Abi from "@truffle/abi-utils"; import { Visitor, VisitOptions, Node } from "../visitor"; export declare const observableProperties: readonly ["defines-receive", "defines-fallback", "needs-abiencoder-v2", "defines-error"]; export type AbiProperty = typeof observableProperties[number]; export type AbiProperties = Partial<{ [F in AbiProperty]: true; }>; export declare const analyze: (node: SchemaAbi | Node) => Partial<{ "defines-receive": true; "defines-fallback": true; "needs-abiencoder-v2": true; "defines-error": true; }>; export declare class AbiPropertiesCollector implements Visitor { visitAbi({ node: nodes }: VisitOptions): AbiProperties; visitEventEntry({ node: entry }: VisitOptions): AbiProperties; visitErrorEntry({ node: entry }: VisitOptions): AbiProperties; visitFunctionEntry({ node: entry, }: VisitOptions): AbiProperties; visitConstructorEntry({ node: entry, }: VisitOptions): AbiProperties; visitFallbackEntry({ node, }: VisitOptions): AbiProperties; visitReceiveEntry({ node, }: VisitOptions): AbiProperties; visitParameter({ node: parameter, }: VisitOptions): AbiProperties; } //# sourceMappingURL=analyze.d.ts.map