export declare class NodeItem {
    data: any;
    next: NodeItem | null;
    constructor(data: any);
    get [Symbol.toStringTag](): string;
}
export declare class LinkedList {
    head: NodeItem | null;
    constructor();
    get [Symbol.toStringTag](): string;
    /**
     * 获取链表节点个数
     */
    get size(): number;
    /**
     * 判断是否为空链表
     */
    get isEmpty(): boolean;
    /**
     * 指定位置插入节点
     * @param item 节点
     * @param index 节点位置
     */
    insert(item: any, index?: number): void;
    /**
     * 更新指定位置的节点
     * @param item 节点
     * @param index 节点位置
     */
    update(item: any, index: number): any;
    /**
     * 获取指定位置的节点数据
     * @param index 节点位置
     */
    find(index: number): any;
    /**
     * 删除指定位置的节点
     * @param index 节点位置
     */
    removeAt(index: number): any;
    /**
     * 删除链表中满足提供的测试函数的第一个节点
     * @param fn
     */
    remove(fn: (node: any) => Boolean): any;
    /**
     * 获取指定位置的节点
     * @param index 节点位置
     */
    private findNodeItem;
    /**
     * 判断输入的index是否合法
     * @param index 索引
     */
    private judgedIndex;
    /**
     * 获得当前位置前一个节点（index不为0）
     * @param index 索引
     */
    private getPreviousItem;
}
