import { Vim } from "./vim"; export interface IReadonlyVimCollection { getFromHandle(handle: number): Vim | undefined; getAll(): ReadonlyArray; getAt(index: number): Vim | undefined; count: number; } export declare class VimCollection implements IReadonlyVimCollection { private _vims; constructor(); get count(): number; /** * Adds a Vim instance to the collection. * @param vim - The Vim instance to add. */ add(vim: Vim): void; /** * Removes a Vim instance from the collection. * @param vim - The Vim instance to remove. */ remove(vim: Vim): void; /** * Gets a Vim instance by its handle. * @param handle - The handle of the Vim instance. * @returns The Vim instance or undefined if not found. */ getFromHandle(handle: number): Vim | undefined; /** * Gets a Vim instance at a specific index. * @param index - The index of the Vim instance. * @returns The Vim instance or undefined if the index is out of bounds. */ getAt(index: number): Vim | undefined; /** * Gets all Vim instances. * @returns An array of Vim instances. */ getAll(): ReadonlyArray; /** * Clears all Vim instances from the collection. */ clear(): void; }