///
import { EventEmitter } from 'events';
import { HTTPProvider, Contract } from 'eth-connect';
import { IEthereumDataProvider } from './IEthereumDataProvider';
import { Coords } from '../utils/coordinateHelpers';
import { DCLInfo } from '../config';
export declare const providerInstance: HTTPProvider;
declare type ContractData = Contract & Record Promise>;
export declare type LANDData = {
version?: number;
name: string | null;
description: string | null;
};
export declare type Network = {
id: number;
name: string;
label?: string;
};
export declare enum NETWORKS {
mainnet = "mainnet",
sepolia = "sepolia"
}
/**
* Events emitted by this class:
*
*/
export declare class Ethereum extends EventEmitter implements IEthereumDataProvider {
private static contracts;
static getContract(name: keyof DCLInfo): Promise;
getLandOf(address: string): Promise;
getEstatesOf(address: string): Promise;
getLandData({ x, y }: Coords): Promise;
getEstateData(estateId: number): Promise;
getLandOwner({ x, y }: Coords): Promise;
getLandOperator({ x, y }: Coords): Promise;
getLandUpdateOperator({ x, y }: Coords): Promise;
getEstateOwner(estateId: number): Promise;
getEstateOperator(estateId: number): Promise;
getEstateUpdateOperator(estateId: number): Promise;
validateAuthorization(owner: string, parcels: Coords[]): Promise;
/**
* It fails if the owner address isn't able to update given parcel (as an owner or operator)
*/
validateAuthorizationOfParcel(owner: string, parcel: Coords): Promise;
getLandOfEstate(estateId: number): Promise;
getEstateIdOfLand({ x, y }: Coords): Promise;
private isLandOperator;
private isEstateOperator;
private decodeLandData;
}
export {};
//# sourceMappingURL=Ethereum.d.ts.map