/**
 * UnorderedArray provides an interface for array comparisons where the comparison
 * is independent of the order. This is useful when for a state model where someone
 * might not want to consider reordering of data in an array to be considered a state
 * change.
 */
export interface UnorderedArray<T> extends Array<T> {
    equals(o: ArrayLike<T>): boolean;
}
declare class UnorderedArrayImpl<T> extends Array<T> implements UnorderedArray<T> {
    static of<T>(...items: T[]): UnorderedArray<T>;
    static from<T>(items?: ArrayLike<T> | Iterable<T>): UnorderedArray<T>;
    includes(value: T): boolean;
    private difference;
    equals(other: ArrayLike<T>): boolean;
}
export declare const UnorderedArray: typeof UnorderedArrayImpl;
export {};
