import { IToXmlOptions } from '../options.ts'; import { IElement } from '../util.ts'; import { Value } from '../value.ts'; /** * ValueArray object. */ export declare class ValueArray extends Value { /** * Value type. */ static readonly TYPE = "array"; /** * Tag names. */ static readonly TAG_NAMES: string[]; /** * Child tag names. * * @returns Child tag names map. */ static get CHILD_TAG_NAMES(): Readonly Value>>; /** * Value value. */ value: Value[]; /** * ValueArray constructor. * * @param value The value. */ constructor(value?: Value[]); /** * Array length. * * @returns The length. */ get length(): number; /** * Get value at index or null if out of bounds. * * @param index Array index. * @returns The value or null. */ get(index: number): Value | null; /** * Get value at index or throw. * * @param index Array index. * @returns The value. */ getValue(index: number): Value; /** * Set value at index. * * @param index Array index. * @param value Value object. */ set(index: number, value: Value): void; /** * Push values onto array. * * @param values Value objects. */ push(...values: Value[]): void; /** * Pop value off array or null. * * @returns Value object or null. */ pop(): Value | null; /** * Pop value off array or throw. * * @returns Value object or null. */ popValue(): Value; /** * Shift value off array or null. * * @returns Value object or null. */ shift(): Value | null; /** * Pop value off array or throw. * * @returns Value object or null. */ shiftValue(): Value; /** * @inheritdoc */ fromXmlElement(element: Readonly): void; /** * Decode child element from XML element. * * @param element XML element. * @returns Value element. */ childFromXmlElement(element: Readonly): Value; /** * @inheritdoc */ toXml(options?: Readonly | null, depth?: number): string; }