import BN from "bn.js"; import { Address } from "../../address"; import { EventLog, TransactionReceipt } from "../../formatters"; import { Contract, ContractOptions, TxCall, TxSend, EventSubscriptionFactory } from "../../contract"; import { Eth } from "../../eth"; export declare type AddrChangedEvent = { node: string; a: Address; }; export declare type ContentChangedEvent = { node: string; hash: string; }; export declare type NameChangedEvent = { node: string; name: string; }; export declare type ABIChangedEvent = { node: string; contentType: string; }; export declare type PubkeyChangedEvent = { node: string; x: string; y: string; }; export interface AddrChangedEventLog extends EventLog { } export interface ContentChangedEventLog extends EventLog { } export interface NameChangedEventLog extends EventLog { } export interface ABIChangedEventLog extends EventLog { } export interface PubkeyChangedEventLog extends EventLog { } interface EnsResolverEvents { AddrChanged: EventSubscriptionFactory; ContentChanged: EventSubscriptionFactory; NameChanged: EventSubscriptionFactory; ABIChanged: EventSubscriptionFactory; PubkeyChanged: EventSubscriptionFactory; } interface EnsResolverEventLogs { AddrChanged: AddrChangedEventLog; ContentChanged: ContentChangedEventLog; NameChanged: NameChangedEventLog; ABIChanged: ABIChangedEventLog; PubkeyChanged: PubkeyChangedEventLog; } interface EnsResolverTxEventLogs { AddrChanged: AddrChangedEventLog[]; ContentChanged: ContentChangedEventLog[]; NameChanged: NameChangedEventLog[]; ABIChanged: ABIChangedEventLog[]; PubkeyChanged: PubkeyChangedEventLog[]; } export interface EnsResolverTransactionReceipt extends TransactionReceipt { } interface EnsResolverMethods { supportsInterface(interfaceID: string): TxCall; ABI(node: string, contentTypes: number | string | BN): TxCall<[string, string]>; setMultihash(node: string, hash: string): TxSend; multihash(node: string): TxCall; setPubkey(node: string, x: string, y: string): TxSend; content(node: string): TxCall; addr(node: string): TxCall
; setABI(node: string, contentType: number | string | BN, data: string): TxSend; name(node: string): TxCall; setName(node: string, name: string): TxSend; setContent(node: string, hash: string): TxSend; pubkey(node: string): TxCall<[string, string]>; setAddr(node: string, addr: Address): TxSend; } export interface EnsResolverDefinition { methods: EnsResolverMethods; events: EnsResolverEvents; eventLogs: EnsResolverEventLogs; } export declare class EnsResolver extends Contract { constructor(eth: Eth, address?: Address, options?: ContractOptions); } export declare var EnsResolverAbi: import("../../contract").ContractAbi; export {};