import ArrayLikeWritable from 'typescript-dotnet-commonjs/System/Collections/Array/ArrayLikeWritable';
import IEnumerable from 'typescript-dotnet-commonjs/System/Collections/Enumeration/IEnumerable';
import IEnumerator from 'typescript-dotnet-commonjs/System/Collections/Enumeration/IEnumerator';
import ILinkedListNode from 'typescript-dotnet-commonjs/System/Collections/ILinkedListNode';
import IList from 'typescript-dotnet-commonjs/System/Collections/IList';
import LinkedList from 'typescript-dotnet-commonjs/System/Collections/LinkedList';
export declare class LinkedListModified<T> implements IList<T> {
    private _list;
    isEndless?: boolean;
    set(index: number, value: T): boolean;
    insert(index: number, value: T): LinkedList<T>;
    removeAt(index: number): boolean;
    add(entry: T): this;
    addBefor(before: ILinkedListNode<T>, entry: T): LinkedList<T>;
    addAfter(after: ILinkedListNode<T>, entry: T): LinkedList<T>;
    addFirst(entry: T): LinkedList<T>;
    removeNode(node: ILinkedListNode<T>): boolean;
    remove(entry: T, max?: number): number;
    clear(): number;
    get last(): ILinkedListNode<T>;
    get first(): T;
    importEntries(entries: IEnumerable<T> | ArrayLike<T> | IEnumerator<T>): number;
    toArray(): T[];
    get count(): number;
    get isReadOnly(): boolean;
    contains(entry: T): boolean;
    copyTo<TTarget extends ArrayLikeWritable<any>>(target: TTarget, index?: number): TTarget;
    getEnumerator(): IEnumerator<T>;
    getNodeById(id: string): ILinkedListNode<T> | null;
    getNodeByIndex(index: number): ILinkedListNode<T> | null;
    get(index: number): T;
    indexOf(item: T): number;
}
