import { StateUpdate, PredicatesManager } from '../StateUpdate'; import { Segment } from '../segment'; import { Hash } from '../helpers/types'; export interface IState { getSegment(): Segment; verifyDeprecation(hash: Hash, newStateUpdate: StateUpdate, deprecationWitness: string, predicatesManager: PredicatesManager): boolean; getRemainingState(state: IState): IState[]; getSubStateUpdate(newSegment: Segment): StateUpdate; getStateHash(): Hash; getRawState(): string; } export declare class BaseStateManager { predicatesManager: PredicatesManager; leaves: IState[]; constructor(predicatesManager: PredicatesManager); /** * get available states in certain range * @param range */ private getLeavesInRange; /** * check stateUpdate can deprecate targets or not. */ private canDeprecation; _isContain(hash: string, stateUpdate: IState, deprecationWitness: string): boolean; _spend(hash: string, stateUpdate: IState, deprecationWitness: string): IState[]; private getIndex; _insert(newStateUpdate: IState): boolean; startExit(segment: Segment): void; getLeaves(): IState[]; toObject(): { state: string; segment: { tokenId: number; start: number; end: number; }; }[]; }