import type { Currency } from '../tokens/currency';
import { NativeCurrency } from '../tokens/nativeCurrency';
import { NativeToken } from '../tokens/nativeToken';
/**
 * Ether is the main usage of a 'native' currency, i.e. for Ethereum mainnet and all testnets
 */
export declare class Ether extends NativeCurrency {
    protected constructor(chainId: number, isOFT?: boolean, oftAdapter?: string, oftVersion?: number, endpointVersion?: number, endpointId?: number, oftSharedDecimals?: number, oftFee?: {
        [chain: number]: {
            oftFee?: number;
            minDstGas?: number;
        };
    }, oftPeers?: {
        [chain: number]: {
            tokenAddress?: string;
        };
    }, priceSource?: {
        address?: string;
        chainId: number;
    });
    get wrapped(): NativeToken;
    private static _etherCache;
    static onChain(chainId: number, isOFT?: boolean, oftAdapter?: string, oftVersion?: number, endpointVersion?: number, endpointId?: number, oftSharedDecimals?: number, oftFee?: {
        [chain: number]: {
            oftFee?: number;
            minDstGas?: number;
        };
    }, oftPeers?: {
        [chain: number]: {
            tokenAddress?: string;
        };
    }, priceSource?: {
        address?: string;
        chainId: number;
    }): Ether;
    equals(other: Currency): boolean;
}
