import LinkedList, { LinkedListElement } from './linked_list';
/**
* Class implements circular bidirectional linked list
* LinkedListElement - object of any type that has properties next and prev.
*/
declare class CircularLinkedList> extends LinkedList {
constructor(first?: T, last?: T);
setCircularLinks(): void;
[Symbol.iterator](): {
next: () => {
value: any;
done: boolean;
};
};
/**
* Append new element to the end of the list
* @param element - new element to be appended
*/
append(element: T): this;
/**
* Insert new element to the list after elementBefore
*/
insert(newElement: T, elementBefore: T): this;
/**
* Remove element from the list
*/
remove(element: T): this;
}
export default CircularLinkedList;
//# sourceMappingURL=circular_linked_list.d.ts.map