import { Address, AppABIEncodings, AppIdentity, AppInstanceJson, AssetId, DecString, HexString, MultiAssetMultiPartyCoinTransferInterpreterParams, OutcomeType, PublicIdentifier, SingleAssetTwoPartyCoinTransferInterpreterParams, SolidityValueType, TwoPartyFixedOutcomeInterpreterParams } from "@connext/types"; import { BigNumber, Contract, providers } from "ethers"; export declare class AppInstance { readonly multisigAddress: string; readonly initiatorIdentifier: PublicIdentifier; readonly initiatorDeposit: DecString; readonly initiatorDepositAssetId: AssetId; readonly responderIdentifier: PublicIdentifier; readonly responderDeposit: DecString; readonly responderDepositAssetId: AssetId; readonly abiEncodings: AppABIEncodings; readonly appDefinition: Address; readonly appSeqNo: number; readonly latestState: any; readonly latestVersionNumber: number; readonly defaultTimeout: HexString; readonly stateTimeout: HexString; readonly outcomeType: OutcomeType; private readonly outcomeInterpreterParametersInternal; readonly meta?: any; readonly latestAction?: any; constructor(multisigAddress: string, initiatorIdentifier: PublicIdentifier, initiatorDeposit: DecString, initiatorDepositAssetId: AssetId, responderIdentifier: PublicIdentifier, responderDeposit: DecString, responderDepositAssetId: AssetId, abiEncodings: AppABIEncodings, appDefinition: Address, appSeqNo: number, latestState: any, latestVersionNumber: number, defaultTimeout: HexString, stateTimeout: HexString, outcomeType: OutcomeType, outcomeInterpreterParametersInternal: TwoPartyFixedOutcomeInterpreterParams | MultiAssetMultiPartyCoinTransferInterpreterParams | SingleAssetTwoPartyCoinTransferInterpreterParams, meta?: any, latestAction?: any); get outcomeInterpreterParameters(): TwoPartyFixedOutcomeInterpreterParams | MultiAssetMultiPartyCoinTransferInterpreterParams | SingleAssetTwoPartyCoinTransferInterpreterParams; static fromJson(json: AppInstanceJson): AppInstance; toJson(): AppInstanceJson; get identityHash(): string; get participants(): string[]; get identity(): AppIdentity; get hashOfLatestState(): string; get encodedLatestState(): string; get encodedInterpreterParams(): string; get state(): any; get versionNumber(): number; get timeout(): string; setState(newState: SolidityValueType, stateTimeout?: BigNumber): AppInstance; setAction(action: SolidityValueType): AppInstance; computeOutcome(state: SolidityValueType, provider: providers.JsonRpcProvider, bytecode?: HexString): Promise; isStateTerminal(state: SolidityValueType, provider: providers.JsonRpcProvider): Promise; computeOutcomeWithCurrentState(provider: providers.JsonRpcProvider, bytecode?: HexString): Promise; computeTurnTaker(provider: providers.JsonRpcProvider, bytecode?: HexString): Promise; isCorrectTurnTaker(attemptedTurnTaker: string, provider: providers.JsonRpcProvider, bytecode?: HexString): Promise; computeStateTransition(actionTaker: Address, action: SolidityValueType, provider: providers.JsonRpcProvider, bytecode?: HexString): Promise; encodeAction(action: SolidityValueType): string; encodeState(state: SolidityValueType): string; decodeAppState(encodedSolidityValueType: string): SolidityValueType; toEthersContract(provider: providers.JsonRpcProvider): Contract; } //# sourceMappingURL=app-instance.d.ts.map