export interface LinkedList<T> {
    head: ListItem<T> | null;
    tail: ListItem<T> | null;
}
export interface ListItem<T> {
    next: ListItem<T> | null;
    prev: ListItem<T> | null;
    data: T;
}
export declare function addTail<T>(list: LinkedList<T>, data: T): void;
export declare function addHead<T>(list: LinkedList<T>, data: T): void;
export declare function removeHead<T>(list: LinkedList<T>): void;
export declare function removeTail<T>(list: LinkedList<T>): void;
export declare function findItem<T>(list: LinkedList<T>, find: (data: T) => boolean): ListItem<T> | null;
