import { Segment } from '../segment'; import { SignedTransactionWithProof } from '../SignedTransaction'; import { SumMerkleProof } from '../merkle'; export declare class ExclusionProof { root: string; proof: SumMerkleProof; constructor(root: string, proof: SumMerkleProof); getRoot(): string; checkExclusion(): boolean; serialize(): { type: string; root: string; proof: { numTokens: number; index: number; segment: string[]; leaf: string; proof: string; }; }; static deserialize(data: any): ExclusionProof; } declare type SegmentedBlockItem = SignedTransactionWithProof | ExclusionProof; export declare class SegmentedBlock { originalSegment: Segment; items: SegmentedBlockItem[]; blkNum: number; constructor(originalSegment: Segment, items: SegmentedBlockItem[], blkNum: number); getOriginalSegment(): Segment; getItems(): SegmentedBlockItem[]; getBlockNumber(): number; serialize(): (number | string[] | ({ tx: { states: string[]; tw: string[]; }; i: number; sr: string; r: string; ts: string; proofs: { numTokens: number; index: number; segment: string[]; leaf: string; proof: string; }[]; blkNum: string; confSigs: string[]; stateUpdate: string; v: boolean; } | { type: string; root: string; proof: { numTokens: number; index: number; segment: string[]; leaf: string; proof: string; }; })[])[]; static deserialize(data: any[]): SegmentedBlock; } export {};