import { Codec, Constructor, InterfaceTypes } from '../types'; import AbstractArray from './AbstractArray'; /** * @name Vec * @description * This manages codec arrays. Internally it keeps track of the length (as decoded) and allows * construction with the passed `Type` in the constructor. It is an extension to Array, providing * specific encoding/decoding on top of the base type. */ export default class Vec extends AbstractArray { private _Type; constructor(Type: Constructor | InterfaceTypes, value?: Vec | Uint8Array | string | any[]); static decodeVec(Type: Constructor, value: Vec | Uint8Array | string | any[]): T[]; static with(Type: Constructor | InterfaceTypes): Constructor>; /** * @description The type for the items */ readonly Type: string; /** * @description Finds the index of the value in the array */ indexOf(_other?: any): number; /** * @description Returns the base runtime type name for this instance */ toRawType(): string; }