import { ethers } from 'ethers'; import { BaseProject } from './base'; export declare const fluenceChain: { id: number; name: string; nativeCurrency: { name: string; symbol: string; decimals: number; }; rpcUrls: { default: { http: string[]; }; }; blockExplorers: { default: { name: string; url: string; }; }; }; export declare const fluenceTestnetChain: { id: number; name: string; nativeCurrency: { name: string; symbol: string; decimals: number; }; rpcUrls: { default: { http: string[]; }; }; blockExplorers: { default: { name: string; url: string; }; }; testnet: boolean; }; export declare const fluenceContract: { delegationPool: string; pToken: string; miningToken: string; wpToken: string; withdrawQueue: string; }; export declare const fluenceTestnetContract: { delegationPool: string; pToken: string; miningToken: string; wpToken: string; withdrawQueue: string; }; export declare class FluenceProject extends BaseProject { name: string; thawingEnabled: boolean; withdrawQueueEnabled: boolean; miningToken: { name: string; symbol: string; decimals: number; isNative: boolean; icon: string; }; pToken: { name: string; symbol: string; decimals: number; icon: string; }; wpToken: { name: string; symbol: string; decimals: number; icon: string; }; chainConfig: { id: number; name: string; nativeCurrency: { name: string; symbol: string; decimals: number; }; rpcUrls: { default: { http: string[]; }; }; blockExplorers: { default: { name: string; url: string; }; }; }; contracts: { delegationPool: string; pToken: string; miningToken: string; }; metadata: { guideLink: string; website: string; description: string; about: string; withdrawTips: string; }; constructor({ isTestnet, provider, contracts, }: { isTestnet: boolean; provider?: ethers.providers.JsonRpcProvider; contracts?: { delegationPool?: string; pToken?: string; miningToken?: string; }; }); getPoolContract: () => ethers.Contract; deposit: (address: string, amount: string, signer: ethers.Signer) => Promise; withdraw: (address: string, amount: string, signer: ethers.Signer) => Promise; approveWithdrawQueue: (amount: string, signer: ethers.Signer) => Promise; requestWithdrawQueue: (amount: string, signer: ethers.Signer) => Promise; getWithdrawQueueByAddress: (address: string) => Promise; getRequestCountInQueue: (address: string) => Promise; getWithdrawStorage: () => Promise; getAssetsInfo: () => Promise<{ apy: any; lockedAssets: number; }>; }