import { BidirectionalCollection } from "../Collections/BidirectionalCollection";
import { INode } from "./Generic/INode";
import { NodeItem } from "./NodeItem";
/**
 * Represents a collection of items.
 */
export declare class NodeCollection<T extends INode<TItem>, TItem extends NodeItem> extends BidirectionalCollection<INode<TItem>, T> {
    /**
     * Initializes a new instance of the `NodeCollection<T>` class.
     *
     * @param owner
     * The owner of the collection.
     */
    constructor(owner: T);
    /**
     * @inheritdoc
     */
    protected GetParent(child: T): INode<TItem>;
    /**
     * @inheritdoc
     */
    protected SetParent(child: INode<TItem>, parent: T): void;
}
