import { utils } from "ethers"; import { RLPItem } from './helpers/types'; import BigNumber = utils.BigNumber; /** * Segment class is one segment of deposited value on Plasma */ export declare class Segment { tokenId: BigNumber; start: BigNumber; end: BigNumber; /** * Segment * @param tokenId * @param start * @param end */ constructor(tokenId: BigNumber, start: BigNumber, end: BigNumber); getTokenId(): utils.BigNumber; getAmount(): utils.BigNumber; static ETH(start: BigNumber, end: BigNumber): Segment; getGlobalStart(): utils.BigNumber; getGlobalEnd(): utils.BigNumber; static fromGlobal(start: BigNumber, end: BigNumber): Segment; toBigNumber(): BigNumber; static fromBigNumber(bn: BigNumber): Segment; toTuple(): BigNumber[]; static fromTuple(tuple: RLPItem[]): Segment; encode(): string; static decode(bytes: string): Segment; serialize(): string[]; static deserialize(data: string[]): Segment; isContain(segment: Segment): boolean; /** * isHit * @description check collision of segments * @param segment target segment */ isHit(segment: Segment): boolean; add(segment: Segment): Segment; sub(segment: Segment): Segment[]; clone(): Segment; pretty(): { tokenId: number; start: number; end: number; }; }