import { AnyModel } from '../model/BaseModel'; declare const arraySetBase: abstract new (data: any) => AnyModel & { readonly $: { items: any[]; }; readonly items: any[]; }; /** * A set that is backed by an array. * Use `arraySet` to create it. */ export declare class ArraySet extends arraySetBase implements Set { add(value: V): this; clear(): void; delete(value: V): boolean; forEach(callbackfn: (value: V, value2: V, set: Set) => void, thisArg?: any): void; has(value: V): boolean; get size(): number; keys(): ReturnType["keys"]>; values(): ReturnType["values"]>; entries(): ReturnType["entries"]>; [Symbol.iterator](): ReturnType[typeof Symbol.iterator]>; readonly [Symbol.toStringTag] = "ArraySet"; union(other: ReadonlySetLike): Set; intersection(other: ReadonlySetLike): Set; difference(other: ReadonlySetLike): Set; symmetricDifference(other: ReadonlySetLike): Set; isSubsetOf(other: ReadonlySetLike): boolean; isSupersetOf(other: ReadonlySetLike): boolean; isDisjointFrom(other: ReadonlySetLike): boolean; } export interface ArraySet { readonly $: { items: V[]; }; readonly items: V[]; } /** * Creates a new ArraySet model instance. * * @template V Value type. * @param [values] Optional initial values. */ export declare function arraySet(values?: ReadonlyArray | null): ArraySet; export {};