import DoubleLLNode from './dllNode';
export default class DoubelLinkedList<T> {
    private compare;
    private head;
    private tail;
    private length;
    constructor(compareFunc: any);
    append(value: T): this;
    prepend(value: T): this;
    insert(value: T, indexTo: number): this;
    getLength(): number;
    delete(value: T): boolean;
    find({ value, callback }: {
        value?: T;
        callback?: (val: T) => boolean;
    }): DoubleLLNode<T> | null;
    deleteTail(): DoubleLLNode<T> | null;
    deleteHead(): DoubleLLNode<T> | null;
    fromArray(values: Array<T>): this;
    toArray(): DoubleLLNode<T>[];
    toString(callback?: (value: T) => string): string;
    reverse(): this | null;
    clear(): this;
}
//# sourceMappingURL=dllMain.d.ts.map