import { Node } from "@chainsafe/persistent-merkle-tree"; import { ByteViews, ValueOf } from "./abstract.ts"; import { CompositeType } from "./composite.ts"; export type ArrayProps = { isList: true; limit: number; } | { isList: false; length: number; }; export declare function minSizeArrayComposite>(elementType: ElementType, minCount: number): number; export declare function maxSizeArrayComposite>(elementType: ElementType, maxCount: number): number; export declare function value_serializedSizeArrayComposite>(elementType: ElementType, length: number, value: ValueOf[]): number; /** * @param length In List length = value.length, Vector length = fixed value */ export declare function value_serializeToBytesArrayComposite>(elementType: ElementType, length: number, output: ByteViews, offset: number, value: ValueOf[]): number; export declare function value_deserializeFromBytesArrayComposite, unknown, unknown>>(elementType: ElementType, data: ByteViews, start: number, end: number, arrayProps: ArrayProps, reuseBytes?: boolean): ValueOf[]; /** * @param length In List length = value.length, Vector length = fixed value */ export declare function tree_serializedSizeArrayComposite>(elementType: ElementType, length: number, depth: number, node: Node): number; /** * @param length In List length = value.length, Vector length = fixed value */ export declare function tree_serializeToBytesArrayComposite>(elementType: ElementType, length: number, depth: number, node: Node, output: ByteViews, offset: number, cachedNodes?: Node[] | null): number; export declare function tree_deserializeFromBytesArrayComposite>(elementType: ElementType, chunkDepth: number, data: ByteViews, start: number, end: number, arrayProps: ArrayProps): Node; export declare function value_getBlocksBytesArrayComposite>(elementType: ElementType, length: number, value: ValueOf[], blocksBuffer: Uint8Array): Uint8Array;