import { CLType, CLValue, CLValueBytesParsers, ResultAndRemainder, ToBytesResult, CLErrorCodes } from './index'; import { CLTypeTag } from './constants'; export declare abstract class CLTupleType extends CLType { tag: CLTypeTag; linksTo: string; inner: Array; constructor(inner: Array, linksTo: string, tag: CLTypeTag); toString(): string; toJSON(): any; toBytes(): any; } export declare class CLTupleBytesParser extends CLValueBytesParsers { toBytes(value: CLTuple): ToBytesResult; fromBytesWithRemainder(rawBytes: Uint8Array, type: CLTuple1Type | CLTuple2Type | CLTuple3Type): ResultAndRemainder; } declare abstract class CLTuple extends CLValue { data: Array; tupleSize: number; constructor(size: number, v: Array); get(index: number): CLValue; set(index: number, item: CLValue): void; push(item: CLValue): void; value(): Array; toJSON(): any; } export declare class CLTuple1Type extends CLTupleType { constructor(inner: Array); } export declare class CLTuple1 extends CLTuple { constructor(value: Array); clType(): CLType; } export declare class CLTuple2Type extends CLTupleType { constructor(inner: Array); } export declare class CLTuple2 extends CLTuple { constructor(value: Array); clType(): CLType; } export declare class CLTuple3Type extends CLTupleType { constructor(inner: Array); } export declare class CLTuple3 extends CLTuple { constructor(value: Array); clType(): CLType; } export {};