import { Segment } from './segment'; import { BigNumber } from 'ethers/utils'; import { Address, RLPItem, Hash } from './helpers/types'; import { IState } from './state/BaseStateManager'; export declare class StateUpdate implements IState { segment: Segment; blkNum: BigNumber; predicate: Address; state: string; constructor(segment: Segment, blkNum: BigNumber, predicate: Address, state: string); getSegment(): Segment; getBlkNum(): BigNumber; getRawState(): string; serialize(): string; static deserialize(data: string): StateUpdate; encodeToTuple(): RLPItem[]; static fromTupl(data: RLPItem[]): StateUpdate; /** * for RootChain contract */ encode(): string; getStateHash(): string; hash(): string; getSubStateUpdate(newSegment: Segment): StateUpdate; getRemainingState(state: StateUpdate): StateUpdate[]; verifyDeprecation(hash: Hash, newStateUpdate: StateUpdate, deprecationWitness: string, predicatesManager: PredicatesManager): boolean; isOwnedBy(owner: Address, predicatesManager: PredicatesManager): boolean; getOwner(): string; } export declare class PredicatesManager { predicates: Map; name2address: Map; constructor(); addPredicate(predicateAddress: Address, nativePredicate: string): void; getNativePredicate(nativePredicate: string): string; verifyDeprecation(predicate: Address, hash: string, stateUpdate: StateUpdate, deprecationWitness: string, nextStateUpdate: StateUpdate): boolean; isOwnedBy(predicate: Address, owner: Address, stateUpdate: StateUpdate): boolean; } export declare class OwnershipPredicate { static create(segment: Segment, blkNum: BigNumber, predicate: Address, owner: Address): StateUpdate; static verifyDeprecation(hash: string, stateUpdate: StateUpdate, deprecationWitness: string, nextStateUpdate: StateUpdate): boolean; static isOwnedBy(owner: Address, stateUpdate: StateUpdate): boolean; } export declare class PaymentChannelPredicate { static create(segment: Segment, blkNum: BigNumber, predicate: Address, hash: string, participant1: Address, participant2: Address, stateIndex: number): StateUpdate; static verifyDeprecation(hash: string, stateUpdate: StateUpdate, deprecationWitness: string, nextStateUpdate: StateUpdate): boolean; static isOwnedBy(owner: Address, stateUpdate: StateUpdate): boolean; }