/** * * @param {string} type * @param {scalar[]} [initialDomain] */ export default function createDomain(type: string, initialDomain?: scalar[]): DomainArray; /** * For unit tests * * @param {DomainArray | any[]} domainArray */ export function toRegularArray(domainArray: DomainArray | any[]): any[]; /** * @typedef {boolean | number | string} scalar */ export class DomainArray extends Array { constructor(); /** @type {string} */ type: string; /** * * @param {scalar} value * @returns {DomainArray} */ extend(value: scalar): DomainArray; /** * * @param {Iterable} values * @returns {DomainArray} */ extendAll(values: Iterable): DomainArray; /** * @param {Iterable} values * @param {function(T):scalar} [accessor] * @returns {DomainArray} * @template T */ extendAllWithAccessor(values: Iterable, accessor?: (arg0: T) => scalar): DomainArray; } export class QuantitativeDomain extends DomainArray { 0: number; 1: number; } /** * Builder that tries to preserve the order */ export class OrdinalDomain extends DomainArray { /** @type {Set} */ uniqueValues: Set; } export class NominalDomain extends OrdinalDomain { } export class PiecewiseDomain extends DomainArray { /** * * @param {number[]} initialDomain */ constructor(initialDomain: number[]); } export type scalar = boolean | number | string; //# sourceMappingURL=domainArray.d.ts.map