import { bcs } from '@mysten/sui/bcs'; import { Reified, ToField, ToJSON, ToTypeArgument, ToTypeStr, TypeArgument, VectorClass, VectorClassReified } from './reified'; import { FieldsWithTypes } from './util'; export type VectorElements = Array>; export type VectorReified = VectorClassReified, VectorElements>; export type VectorJSONField = ToJSON[]; export type VectorJSON = { $typeName: 'vector'; $typeArgs: [ToTypeStr]; elements: VectorJSONField; }; export declare class Vector implements VectorClass { __VectorClass: true; static readonly $typeName = "vector"; static readonly $numTypeParams = 1; static readonly $isPhantom: readonly [false]; readonly $typeName = "vector"; readonly $fullTypeName: `vector<${ToTypeStr}>`; readonly $typeArgs: [ToTypeStr]; readonly $isPhantom: readonly [false]; readonly elements: Array>; constructor(typeArgs: [ToTypeStr], elements: VectorElements); static reified>(T: T): VectorReified>; static get r(): typeof Vector.reified; static get bcs(): typeof bcs.vector; static fromFields>(typeArg: T, elements: any[]): Vector>; static fromFieldsWithTypes>(typeArg: T, item: FieldsWithTypes): Vector>; static fromBcs>(typeArg: T, data: Uint8Array): Vector>; toJSONField(): VectorJSONField; toJSON(): VectorJSON; static fromJSONField>(typeArg: T, field: any[]): Vector>; static fromJSON>(typeArg: T, json: any): Vector>; } export declare function vector>(T: T): VectorClassReified>, VectorElements>>;