import type ILinkedList from './ILinkedList';
import type ILinkedListItem from './ILinkedListItem';
export default class LinkedList<T = number> implements ILinkedList<T> {
    private readonly _FIRST_POSITION;
    private _head;
    private _size;
    constructor(...inputs: Readonly<T[]>);
    get data(): {
        value: T;
        next: NonNullable<T> | null;
    }[];
    get size(): number;
    get isEmpty(): boolean;
    positionOf(element: T): number | undefined;
    push(element: T): T;
    remove(element: T): T | null;
    insertInPosition(element: T, position: number): T | undefined;
    getFromPosition(position: number): ILinkedListItem<T> | null;
    removeFromPosition(position: number): T | null;
    private _getNodeFromPosition;
    private [Symbol.toPrimitive];
}
