import { Bytes } from '@cryptoeconomicslab/primitives'; export declare abstract class TraceInfo { readonly predicateName: string; constructor(predicateName: string); abstract toString(): string; abstract toJson(): any; } declare class NormalTraceInfo extends TraceInfo { toString(): string; toJson(): string; } declare class ForAllSuchThatTraceInfo extends TraceInfo { readonly variable: Bytes; readonly child: TraceInfo; constructor(variable: Bytes, child: TraceInfo); toString(): string; toJson(): { predicateName: string; variable: string; child: any; }; } export declare class ThereExistsSuchThatTraceInfo extends TraceInfo { readonly child: TraceInfo; constructor(child: TraceInfo); toString(): string; toJson(): { predicateName: string; child: any; }; } export declare class NotTraceInfo extends TraceInfo { readonly child: TraceInfo; constructor(child: TraceInfo); toString(): string; toJson(): { predicateName: string; child: any; }; } export declare class AndTraceInfo extends TraceInfo { readonly index: number; readonly child: TraceInfo; constructor(index: number, child: TraceInfo); toString(): string; toJson(): { predicateName: string; index: number; child: any; }; } declare class OrTraceInfo extends TraceInfo { readonly children: TraceInfo[]; constructor(children: TraceInfo[]); toString(): string; toJson(): { predicateName: string; children: any[]; }; } declare class AtomicPropositionTraceInfo extends TraceInfo { readonly predicateName: string; readonly inputs: Bytes[]; constructor(predicateName: string, inputs: Bytes[]); toString(): string; toJson(): { predicateName: string; inputs: string[]; }; } export declare class TraceInfoCreator { static create(predicateName: string, inputs: Bytes[]): AtomicPropositionTraceInfo; static createAnd(index: number, child: TraceInfo): AndTraceInfo; static createOr(children: TraceInfo[]): OrTraceInfo; static createNot(child: TraceInfo): NotTraceInfo; static createFor(variable: Bytes, child: TraceInfo): ForAllSuchThatTraceInfo; static createThere(child: TraceInfo): ThereExistsSuchThatTraceInfo; static exception(message: string): NormalTraceInfo; } export {};