import { AppInstanceJson, CriticalStateChannelAddresses, IStoreService, PublicIdentifier, SolidityValueType, StateChannelJSON } from "@connext/types"; import { BigNumber } from "ethers"; import { AppInstance } from "./app-instance"; import { FreeBalanceClass, TokenIndexedCoinTransferMap } from "./free-balance"; export declare class StateChannel { readonly multisigAddress: string; readonly chainId: number; readonly addresses: CriticalStateChannelAddresses; readonly initiatorIdentifier: string; readonly responderIdentifier: string; readonly proposedAppInstances: ReadonlyMap; readonly appInstances: ReadonlyMap; private readonly freeBalanceAppInstance?; private readonly monotonicNumProposedApps; readonly schemaVersion: number; constructor(multisigAddress: string, chainId: number, addresses: CriticalStateChannelAddresses, initiatorIdentifier: string, responderIdentifier: string, proposedAppInstances?: ReadonlyMap, appInstances?: ReadonlyMap, freeBalanceAppInstance?: AppInstance | undefined, monotonicNumProposedApps?: number, schemaVersion?: number); get multisigOwners(): string[]; get userIdentifiers(): string[]; get numProposedApps(): number; get numActiveApps(): number; incrementNumProposedApps(): StateChannel; getAppInstance(appIdentityHash: string): AppInstance; hasAppInstance(appIdentityHash: string): boolean; hasAppProposal(appIdentityHash: string): boolean; hasAppInstanceOfKind(address: string): boolean; getAppInstanceByAppSeqNo(appSeqNo: number): AppInstance; mostRecentlyProposedAppInstance(): AppInstanceJson; getAppInstanceOfKind(address: string): AppInstance; getAppInstancesOfKind(address: string): AppInstance[]; isAppInstanceInstalled(appIdentityHash: string): boolean; getSigningKeysFor(initiatorId: string, responderId: string): string[]; get hasFreeBalance(): boolean; get freeBalance(): AppInstance; getMultisigOwnerAddrOf(identifer: string): string; getFreeBalanceAddrOf(identifier: string): string; getFreeBalanceClass(): FreeBalanceClass; private build; addActiveAppAndIncrementFreeBalance(activeApp: string, tokenIndexedIncrements: TokenIndexedCoinTransferMap): StateChannel; removeActiveAppAndIncrementFreeBalance(activeApp: string, tokenIndexedIncrements: TokenIndexedCoinTransferMap): StateChannel; setFreeBalance(newFreeBalanceClass: FreeBalanceClass): StateChannel; static setupChannel(freeBalanceAppAddress: string, addresses: CriticalStateChannelAddresses, multisigAddress: string, chainId: number, initiatorId: PublicIdentifier, responderId: PublicIdentifier, freeBalanceTimeout?: number): StateChannel; static createEmptyChannel(multisigAddress: string, chainId: number, addresses: CriticalStateChannelAddresses, initiatorId: string, responderId: string): StateChannel; addProposal(proposal: AppInstanceJson): StateChannel; removeProposal: (appIdentityHash: string) => StateChannel; addAppInstance(appInstance: AppInstance): StateChannel; removeAppInstance(appIdentityHash: string): StateChannel; setState(appInstance: AppInstance, state: SolidityValueType, stateTimeout?: BigNumber): StateChannel; installApp(appInstance: AppInstance, tokenIndexedDecrements: TokenIndexedCoinTransferMap): StateChannel; uninstallApp(appToBeUninstalled: AppInstance, tokenIndexedIncrements: TokenIndexedCoinTransferMap): StateChannel; toJson(): StateChannelJSON; static fromJson(json: StateChannelJSON): StateChannel; static getPeersAddressFromChannel(myIdentifier: string, store: IStoreService, multisigAddress: string): Promise; } //# sourceMappingURL=state-channel.d.ts.map