import type { EventFragment, FunctionFragment, Result } from '@ethersproject/abi'; import { Interface } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/abstract-provider'; import type { Signer } from '@ethersproject/abstract-signer'; import type { BigNumber, BigNumberish } from '@ethersproject/bignumber'; import type { BytesLike } from '@ethersproject/bytes'; import type { BaseContract, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction } from '@ethersproject/contracts'; import type { OnEvent, PromiseOrValue, TypedEvent, TypedEventFilter, TypedListener } from './common'; export declare namespace IPriceOracle { type PriceStruct = { base: PromiseOrValue; premium: PromiseOrValue; }; type PriceStructOutput = [BigNumber, BigNumber] & { base: BigNumber; premium: BigNumber; }; } export interface FTMRegistrarControllerInterface extends Interface { functions: { 'MIN_REGISTRATION_DURATION()': FunctionFragment; 'available(string)': FunctionFragment; 'commit(bytes32)': FunctionFragment; 'commitments(bytes32)': FunctionFragment; 'makeCommitment(string,address,uint256,bytes32,address,bytes[],bool,uint16)': FunctionFragment; 'maxCommitmentAge()': FunctionFragment; 'minCommitmentAge()': FunctionFragment; 'nameWrapper()': FunctionFragment; 'owner()': FunctionFragment; 'prices()': FunctionFragment; 'recoverFunds(address,address,uint256)': FunctionFragment; 'register(string,address,uint256,bytes32,address,bytes[],bool,uint16)': FunctionFragment; 'renew(string,uint256)': FunctionFragment; 'renounceOwnership()': FunctionFragment; 'rentPrice(string,uint256)': FunctionFragment; 'reverseRegistrar()': FunctionFragment; 'supportsInterface(bytes4)': FunctionFragment; 'transferOwnership(address)': FunctionFragment; 'valid(string)': FunctionFragment; 'withdraw()': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'MIN_REGISTRATION_DURATION' | 'available' | 'commit' | 'commitments' | 'makeCommitment' | 'maxCommitmentAge' | 'minCommitmentAge' | 'nameWrapper' | 'owner' | 'prices' | 'recoverFunds' | 'register' | 'renew' | 'renounceOwnership' | 'rentPrice' | 'reverseRegistrar' | 'supportsInterface' | 'transferOwnership' | 'valid' | 'withdraw'): FunctionFragment; encodeFunctionData(functionFragment: 'MIN_REGISTRATION_DURATION', values?: undefined): string; encodeFunctionData(functionFragment: 'available', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'commit', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'commitments', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'makeCommitment', values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue[], PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: 'maxCommitmentAge', values?: undefined): string; encodeFunctionData(functionFragment: 'minCommitmentAge', values?: undefined): string; encodeFunctionData(functionFragment: 'nameWrapper', values?: undefined): string; encodeFunctionData(functionFragment: 'owner', values?: undefined): string; encodeFunctionData(functionFragment: 'prices', values?: undefined): string; encodeFunctionData(functionFragment: 'recoverFunds', values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: 'register', values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue[], PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: 'renew', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string; encodeFunctionData(functionFragment: 'rentPrice', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'reverseRegistrar', values?: undefined): string; encodeFunctionData(functionFragment: 'supportsInterface', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'valid', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'withdraw', values?: undefined): string; decodeFunctionResult(functionFragment: 'MIN_REGISTRATION_DURATION', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'available', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'commit', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'commitments', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'makeCommitment', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'maxCommitmentAge', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'minCommitmentAge', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'nameWrapper', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'prices', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'recoverFunds', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'register', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'renew', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'rentPrice', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'reverseRegistrar', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'supportsInterface', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'valid', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; events: { 'NameRegistered(string,bytes32,address,uint256,uint256,uint256)': EventFragment; 'NameRenewed(string,bytes32,uint256,uint256)': EventFragment; 'OwnershipTransferred(address,address)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'NameRegistered'): EventFragment; getEvent(nameOrSignatureOrTopic: 'NameRenewed'): EventFragment; getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment; } export interface NameRegisteredEventObject { name: string; label: string; owner: string; baseCost: BigNumber; premium: BigNumber; expires: BigNumber; } export declare type NameRegisteredEvent = TypedEvent<[ string, string, string, BigNumber, BigNumber, BigNumber ], NameRegisteredEventObject>; export declare type NameRegisteredEventFilter = TypedEventFilter; export interface NameRenewedEventObject { name: string; label: string; cost: BigNumber; expires: BigNumber; } export declare type NameRenewedEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], NameRenewedEventObject>; export declare type NameRenewedEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export declare type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export declare type OwnershipTransferredEventFilter = TypedEventFilter; export interface FTMRegistrarController extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: FTMRegistrarControllerInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { MIN_REGISTRATION_DURATION(overrides?: CallOverrides): Promise<[BigNumber]>; available(name: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; commit(commitment: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; commitments(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; makeCommitment(name: PromiseOrValue, owner: PromiseOrValue, duration: PromiseOrValue, secret: PromiseOrValue, resolver: PromiseOrValue, data: PromiseOrValue[], reverseRecord: PromiseOrValue, ownerControlledFuses: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; maxCommitmentAge(overrides?: CallOverrides): Promise<[BigNumber]>; minCommitmentAge(overrides?: CallOverrides): Promise<[BigNumber]>; nameWrapper(overrides?: CallOverrides): Promise<[string]>; owner(overrides?: CallOverrides): Promise<[string]>; prices(overrides?: CallOverrides): Promise<[string]>; recoverFunds(_token: PromiseOrValue, _to: PromiseOrValue, _amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; register(name: PromiseOrValue, owner: PromiseOrValue, duration: PromiseOrValue, secret: PromiseOrValue, resolver: PromiseOrValue, data: PromiseOrValue[], reverseRecord: PromiseOrValue, ownerControlledFuses: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; renew(name: PromiseOrValue, duration: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rentPrice(name: PromiseOrValue, duration: PromiseOrValue, overrides?: CallOverrides): Promise<[ IPriceOracle.PriceStructOutput ] & { price: IPriceOracle.PriceStructOutput; }>; reverseRegistrar(overrides?: CallOverrides): Promise<[string]>; supportsInterface(interfaceID: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; valid(name: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; withdraw(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; MIN_REGISTRATION_DURATION(overrides?: CallOverrides): Promise; available(name: PromiseOrValue, overrides?: CallOverrides): Promise; commit(commitment: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; commitments(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; makeCommitment(name: PromiseOrValue, owner: PromiseOrValue, duration: PromiseOrValue, secret: PromiseOrValue, resolver: PromiseOrValue, data: PromiseOrValue[], reverseRecord: PromiseOrValue, ownerControlledFuses: PromiseOrValue, overrides?: CallOverrides): Promise; maxCommitmentAge(overrides?: CallOverrides): Promise; minCommitmentAge(overrides?: CallOverrides): Promise; nameWrapper(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; prices(overrides?: CallOverrides): Promise; recoverFunds(_token: PromiseOrValue, _to: PromiseOrValue, _amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; register(name: PromiseOrValue, owner: PromiseOrValue, duration: PromiseOrValue, secret: PromiseOrValue, resolver: PromiseOrValue, data: PromiseOrValue[], reverseRecord: PromiseOrValue, ownerControlledFuses: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; renew(name: PromiseOrValue, duration: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rentPrice(name: PromiseOrValue, duration: PromiseOrValue, overrides?: CallOverrides): Promise; reverseRegistrar(overrides?: CallOverrides): Promise; supportsInterface(interfaceID: PromiseOrValue, overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; valid(name: PromiseOrValue, overrides?: CallOverrides): Promise; withdraw(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { MIN_REGISTRATION_DURATION(overrides?: CallOverrides): Promise; available(name: PromiseOrValue, overrides?: CallOverrides): Promise; commit(commitment: PromiseOrValue, overrides?: CallOverrides): Promise; commitments(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; makeCommitment(name: PromiseOrValue, owner: PromiseOrValue, duration: PromiseOrValue, secret: PromiseOrValue, resolver: PromiseOrValue, data: PromiseOrValue[], reverseRecord: PromiseOrValue, ownerControlledFuses: PromiseOrValue, overrides?: CallOverrides): Promise; maxCommitmentAge(overrides?: CallOverrides): Promise; minCommitmentAge(overrides?: CallOverrides): Promise; nameWrapper(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; prices(overrides?: CallOverrides): Promise; recoverFunds(_token: PromiseOrValue, _to: PromiseOrValue, _amount: PromiseOrValue, overrides?: CallOverrides): Promise; register(name: PromiseOrValue, owner: PromiseOrValue, duration: PromiseOrValue, secret: PromiseOrValue, resolver: PromiseOrValue, data: PromiseOrValue[], reverseRecord: PromiseOrValue, ownerControlledFuses: PromiseOrValue, overrides?: CallOverrides): Promise; renew(name: PromiseOrValue, duration: PromiseOrValue, overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; rentPrice(name: PromiseOrValue, duration: PromiseOrValue, overrides?: CallOverrides): Promise; reverseRegistrar(overrides?: CallOverrides): Promise; supportsInterface(interfaceID: PromiseOrValue, overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; valid(name: PromiseOrValue, overrides?: CallOverrides): Promise; withdraw(overrides?: CallOverrides): Promise; }; filters: { 'NameRegistered(string,bytes32,address,uint256,uint256,uint256)'(name?: null, label?: PromiseOrValue | null, owner?: PromiseOrValue | null, baseCost?: null, premium?: null, expires?: null): NameRegisteredEventFilter; NameRegistered(name?: null, label?: PromiseOrValue | null, owner?: PromiseOrValue | null, baseCost?: null, premium?: null, expires?: null): NameRegisteredEventFilter; 'NameRenewed(string,bytes32,uint256,uint256)'(name?: null, label?: PromiseOrValue | null, cost?: null, expires?: null): NameRenewedEventFilter; NameRenewed(name?: null, label?: PromiseOrValue | null, cost?: null, expires?: null): NameRenewedEventFilter; 'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; }; estimateGas: { MIN_REGISTRATION_DURATION(overrides?: CallOverrides): Promise; available(name: PromiseOrValue, overrides?: CallOverrides): Promise; commit(commitment: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; commitments(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; makeCommitment(name: PromiseOrValue, owner: PromiseOrValue, duration: PromiseOrValue, secret: PromiseOrValue, resolver: PromiseOrValue, data: PromiseOrValue[], reverseRecord: PromiseOrValue, ownerControlledFuses: PromiseOrValue, overrides?: CallOverrides): Promise; maxCommitmentAge(overrides?: CallOverrides): Promise; minCommitmentAge(overrides?: CallOverrides): Promise; nameWrapper(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; prices(overrides?: CallOverrides): Promise; recoverFunds(_token: PromiseOrValue, _to: PromiseOrValue, _amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; register(name: PromiseOrValue, owner: PromiseOrValue, duration: PromiseOrValue, secret: PromiseOrValue, resolver: PromiseOrValue, data: PromiseOrValue[], reverseRecord: PromiseOrValue, ownerControlledFuses: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; renew(name: PromiseOrValue, duration: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rentPrice(name: PromiseOrValue, duration: PromiseOrValue, overrides?: CallOverrides): Promise; reverseRegistrar(overrides?: CallOverrides): Promise; supportsInterface(interfaceID: PromiseOrValue, overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; valid(name: PromiseOrValue, overrides?: CallOverrides): Promise; withdraw(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { MIN_REGISTRATION_DURATION(overrides?: CallOverrides): Promise; available(name: PromiseOrValue, overrides?: CallOverrides): Promise; commit(commitment: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; commitments(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; makeCommitment(name: PromiseOrValue, owner: PromiseOrValue, duration: PromiseOrValue, secret: PromiseOrValue, resolver: PromiseOrValue, data: PromiseOrValue[], reverseRecord: PromiseOrValue, ownerControlledFuses: PromiseOrValue, overrides?: CallOverrides): Promise; maxCommitmentAge(overrides?: CallOverrides): Promise; minCommitmentAge(overrides?: CallOverrides): Promise; nameWrapper(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; prices(overrides?: CallOverrides): Promise; recoverFunds(_token: PromiseOrValue, _to: PromiseOrValue, _amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; register(name: PromiseOrValue, owner: PromiseOrValue, duration: PromiseOrValue, secret: PromiseOrValue, resolver: PromiseOrValue, data: PromiseOrValue[], reverseRecord: PromiseOrValue, ownerControlledFuses: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; renew(name: PromiseOrValue, duration: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rentPrice(name: PromiseOrValue, duration: PromiseOrValue, overrides?: CallOverrides): Promise; reverseRegistrar(overrides?: CallOverrides): Promise; supportsInterface(interfaceID: PromiseOrValue, overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; valid(name: PromiseOrValue, overrides?: CallOverrides): Promise; withdraw(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }