import BigNumber from "bignumber.js"; import { ApiGateway } from "./gateway"; import { ISlotAuctionConfig } from "./config"; import { IWeb3KeyProvider } from "@ankr.com/stakefi-web3"; import { PolkadotProvider } from "./polkadot"; import { ICrowdloanType, TClaimMethod, TCrowdloanStatus } from "./entity"; export declare class SlotAuctionSdk { private readonly config; private keyProvider; private polkadotProvider; private readonly apiGateway; constructor(keyProvider: IWeb3KeyProvider, config?: ISlotAuctionConfig); getKeyProvider(): IWeb3KeyProvider; getApiGateway(): ApiGateway; getPolkadotProvider(): PolkadotProvider; isConnected(): boolean; connect(): Promise; getAvailableCrowdloans(): Promise; getCrowdloansByStatus(status: TCrowdloanStatus): Promise; checkCrowdloanStatus(loanId: number, status: TCrowdloanStatus): Promise; getCrowdloanById(loanId: number): Promise; getPolkadotAccounts(): Promise; getPolkadotBalance(account: string): Promise; getEthereumAccount(): Promise; requestDepositAddress(loanId: number): Promise; depositFundsToCrowdloan(polkadotAccount: string, loanId: number, amount: BigNumber): Promise; getCrowdloanBalances(polkadotAccount: string): Promise<{ loanId: number; total: BigNumber; claimable: BigNumber; }[]>; claimRewardPoolTokens(polkadotAccount: string, loanId: number, ethereumAddress?: string): Promise<{ transactionHash: string; transactionReceipt: any; }>; createRawTokenSignature(polkadotAccount: string, ethereumAddress: string, expirationTimestamp: number): Promise; createVerifiableTokenSignature(polkadotAccount: string, ethereumAddress: string, expirationTimestamp: number): Promise; getRewardPoolBalances(account: string): Promise<{ loanId: number; balance: BigNumber; }[]>; getRewardPoolBalance(loanId: number, account: string): Promise; getStakingTokenBalances(account: string): Promise<{ loanId: number; balance: BigNumber; }[]>; getStakingTokenBalance(loanId: number, account: string): Promise; getClaimableStakingRewards(): Promise<{ loanId: number; amount: BigNumber; }[]>; getClaimMethodsForStakingRewards(loanId: number): Promise; claimStakingRewards(polkadotAccount: string, loanId: number, claimMethod?: TClaimMethod): Promise<{ transactionHash: string; transactionReceipt: any; }>; private injectedWeb3KeyProvider; addCrowdloanAssetsToMetaMask(loanId: number): Promise; }