import { Timezone } from 'chronoshift'; import { Instance } from 'immutable-class'; import { PlyType } from '../types'; import { PlywoodValue } from './dataset'; import { PlywoodRange } from './range'; export interface SetValue { setType: PlyType; elements: Array; } export interface SetJS { setType: PlyType; elements: Array; } export declare class Set implements Instance { static type: string; static EMPTY: Set; static unifyElements(elements: Array): Array; static intersectElements(elements1: Array, elements2: Array): Array; static isSet(candidate: any): candidate is Set; static isAtomicType(type: PlyType): boolean; static isSetType(type: PlyType): boolean; static wrapSetType(type: PlyType): PlyType; static unwrapSetType(type: PlyType): PlyType; static cartesianProductOf(...args: T[][]): T[][]; static crossBinary(as: any, bs: any, fn: (a: any, b: any) => any): any; static crossBinaryBoolean(as: any, bs: any, fn: (a: any, b: any) => boolean): boolean; static crossUnary(as: any, fn: (a: any) => any): any; static crossUnaryBoolean(as: any, fn: (a: any) => boolean): boolean; static convertToSet(thing: any): Set; static unionCover(a: any, b: any): any; static intersectCover(a: any, b: any): any; static fromPlywoodValue(pv: PlywoodValue): Set; static fromJS(parameters: Array): Set; static fromJS(parameters: SetJS): Set; setType: PlyType; elements: Array; private readonly keyFn; private readonly hash; constructor(parameters: SetValue); valueOf(): SetValue; toJS(): SetJS; toJSON(): SetJS; toString(tz?: Timezone): string; equals(other: Set | undefined): boolean; changeSetType(setType: PlyType): Set; changeElements(elements: any[]): Set; cardinality(): int; size(): int; empty(): boolean; isNullSet(): boolean; unifyElements(): Set; simplifyCover(): PlywoodValue; getType(): PlyType; upgradeType(): Set; downgradeType(): Set; extent(): PlywoodRange; union(other: Set): Set; intersect(other: Set): Set; overlap(other: Set): boolean; has(value: any): boolean; contains(value: any): boolean; add(value: any): Set; remove(value: any): Set; toggle(value: any): Set; } //# sourceMappingURL=set.d.ts.map