import { BaseCollection } from './base-collection';
export interface Deque<T> {
    pushFront(element: T): void;
    pushBack(element: T): void;
    popFront(): T | undefined;
    popBack(): T | undefined;
    front(): T | undefined;
    back(): T | undefined;
}
export declare class Deque<T> extends BaseCollection<T> implements Deque<T> {
    private items;
    constructor();
    /**
     * Returns true if the deque is empty, false otherwise
     */
    isEmpty(): boolean;
    /**
     * Returns the number of elements in the deque
     */
    size(): number;
    /**
     * Removes all elements from the deque
     */
    clear(): void;
    /**
     * Checks if two deques are equal.
     */
    equals(other: Deque<T>): boolean;
}
