/**
 * Better Array.
 *
 * @experimental
 */
export declare class Array2<T> extends Array<T> {
    static of<T>(...items: T[]): Array2<T>;
    get [Symbol.toStringTag](): string;
    firstOrUndefined(): T | undefined;
    first(): T;
    lastOrUndefined(): T | undefined;
    last(): T;
    uniq(): Array2<T>;
    shuffle(): Array2<T>;
    isEmpty(): boolean;
    isNotEmpty(): boolean;
}
