/*! * @author electricessence / https://github.com/electricessence/ * Based Upon: http://msdn.microsoft.com/en-us/library/he2s3bh7%28v=vs.110%29.aspx * Licensing: MIT https://github.com/electricessence/TypeScript.NET/blob/master/LICENSE.md */ import {ILinkedList} from "./ILinkedList"; export interface ILinkedNode> { previous?:TNode|null; next?:TNode|null; } export interface INodeWithValue { value:TValue; } export interface ILinkedNodeWithValue extends ILinkedNode>, INodeWithValue { } // Use an interface in order to prevent external construction of LinkedListNode export interface ILinkedListNode extends ILinkedNodeWithValue { previous:ILinkedListNode|null; next:ILinkedListNode|null; list:ILinkedList; addBefore(entry:T):void; addAfter(entry:T):void; remove():void; } export default ILinkedListNode;