import { PublicIdentifier, AppABIEncodings } from "@connext/types"; import { BigNumber } from "ethers"; import { AppInstance } from "./app-instance"; export declare function getFreeBalanceAbiEncoding(): AppABIEncodings; export declare type CoinTransfer = { to: string; amount: BigNumber; }; declare type FreeBalanceState = { activeAppsMap: ActiveAppsMap; balancesIndexedByToken: { [tokenAddress: string]: CoinTransfer[]; }; }; export declare type CoinTransferMap = { [to: string]: BigNumber; }; export declare type TokenIndexedCoinTransferMap = { [tokenAddress: string]: CoinTransferMap; }; export declare type ActiveAppsMap = { [appIdentityHash: string]: true; }; export declare class FreeBalanceClass { private readonly activeAppsMap; private readonly balancesIndexedByToken; private constructor(); toFreeBalanceState(): FreeBalanceState; toTokenIndexedCoinTransferMap(): {}; toAppInstance(oldAppInstance: AppInstance): AppInstance; static createWithFundedTokenAmounts(addresses: string[], amount: BigNumber, tokenAddresses: string[]): FreeBalanceClass; static fromAppInstance(appInstance: AppInstance): FreeBalanceClass; getBalance(tokenAddress: string, beneficiary: string): BigNumber; withTokenAddress(tokenAddress: string): CoinTransferMap; removeActiveApp(activeApp: string): this; addActiveApp(activeApp: string): this; hasActiveApp(activeApp: string): boolean; prettyPrint(): void; increment(increments: TokenIndexedCoinTransferMap): this; } export declare function createFreeBalance(initiatorId: PublicIdentifier, responderId: PublicIdentifier, coinBucketAddress: string, freeBalanceTimeout: number, multisigAddress: string): AppInstance; export declare function convertCoinTransfersToCoinTransfersMap(coinTransfers: CoinTransfer[]): CoinTransferMap; export {}; //# sourceMappingURL=free-balance.d.ts.map