import SequentialContainer from './Base'; import { initContainer, IteratorType } from "../ContainerBase"; import { RandomIterator } from "./Base/RandomIterator"; declare class VectorIterator extends RandomIterator { container: Vector; constructor(node: number, container: Vector, iteratorType?: IteratorType); copy(): VectorIterator; equals(iter: VectorIterator): boolean; } export type { VectorIterator }; declare class Vector extends SequentialContainer { /** * @param container - Initialize container, must have a forEach function. * @param copy - When the container is an array, you can choose to directly operate on the original object of * the array or perform a shallow copy. The default is shallow copy. */ constructor(container?: initContainer, copy?: boolean); clear(): void; begin(): VectorIterator; end(): VectorIterator; rBegin(): VectorIterator; rEnd(): VectorIterator; front(): T | undefined; back(): T | undefined; getElementByPos(pos: number): T; eraseElementByPos(pos: number): number; eraseElementByValue(value: T): number; eraseElementByIterator(iter: VectorIterator): VectorIterator; pushBack(element: T): number; popBack(): T | undefined; setElementByPos(pos: number, element: T): void; insert(pos: number, element: T, num?: number): number; find(element: T): VectorIterator; reverse(): void; unique(): number; sort(cmp?: (x: T, y: T) => number): void; forEach(callback: (element: T, index: number, vector: Vector) => void): void; [Symbol.iterator](): Generator; } export default Vector;