import { ICrowdloanType, TActionStatus, TActionType, TClaimStatus, TCrowdloanStatus, TNetworkType } from "./entity"; import BigNumber from "bignumber.js"; export declare class ApiGateway { private readonly defaultConfig; private api; constructor(config: { baseUrl: string; cacheAge: number; }); depositAddress(request: { network: TNetworkType; }): Promise<{ address: string; }>; deposit(request: { network: TNetworkType; extrinsic: string; }): Promise<{ id: string; status: TActionStatus; }>; getBalance(request: { network: TNetworkType; address: string; }): Promise<{ total: BigNumber; claimable: BigNumber; }>; getHistory(request: { network: TNetworkType; address: string; }): Promise<{ address: string; timestamp: number; type: TActionType; amount: BigNumber; status: TActionStatus; id: string; }[]>; claim(request: { network: TNetworkType; address: string; ethAddress: string; amount: BigNumber; timestamp: number; signature: string; }): Promise<{ claim: { address: string; status: TClaimStatus; data: { network: number; claimId: string; issueBlock: number; claimBeforeBlock: number; amount: BigNumber; signature: string; }; createdTimestamp: number; expiresTimestamp: number; }; tokenAddress: string; }>; getCrowdloanById(request: { network: TNetworkType; loanId: number; }): Promise; private mapCrowdloanData; getCrowdloans(request: { network: TNetworkType; status?: TCrowdloanStatus; }): Promise; crowdloanDepositAddress(request: { network: TNetworkType; loanId: number; }): Promise<{ address: string; }>; getCrowdloanBalances(request: { network: TNetworkType; address: string; loanId?: number; }): Promise<{ balances: { total: BigNumber; claimable: BigNumber; loanId: number; }[]; }>; getCrowdloanHistory(request: { network: TNetworkType; address: string; loanId: string; }): Promise<{ address: string; timestamp: number; type: string; amount: BigNumber; status: string; id: string; }[]>; crowdloanClaim(request: { network: TNetworkType; address: string; ethAddress: string; amount: BigNumber; timestamp: number; signature: string; loanId: number; }): Promise<{ claim: { address: string; status: TClaimStatus; data: { network: number; claimId: string; issueBlock: number; claimBeforeBlock: number; amount: BigNumber; signature: string; }; createdTimestamp: number; expiresTimestamp: number; }; tokenAddress: string; }>; }