import { P as PitchIntervalClass } from './PitchIntervalClass-AHwI_N3-.js';
import { T as TwelveBits, P as PartialTwelveBits } from './TwelveBits-Z-c4STkw.js';

type Shape = TwelveBits;
declare const hasShape: (v: unknown) => v is TwelveBits;
interface PitchIntervalClassSetBrand {
    readonly PitchIntervalClassSet: unique symbol;
}
type PitchIntervalClassSet$1 = Shape & PitchIntervalClassSetBrand;
declare const mark: (_v: Shape) => _v is PitchIntervalClassSet$1;
declare const markRaw: (v: number) => v is PitchIntervalClassSet$1;
declare const markRawUnknown: (v: unknown) => v is PitchIntervalClassSet$1;
declare const fromRaw: (v: TwelveBits | PartialTwelveBits) => PitchIntervalClassSet$1;
declare const fromRawMasked: (v: number) => PitchIntervalClassSet$1;
declare const fromRawUnknown: (v: unknown) => PitchIntervalClassSet$1 | undefined;
declare const EMPTY: PitchIntervalClassSet$1;
declare const ALL: PitchIntervalClassSet$1;
declare const from: (...values: PitchIntervalClass[]) => PitchIntervalClassSet$1;
declare const toggleAll: (pcs: PitchIntervalClassSet$1) => PitchIntervalClassSet$1;
declare const union: (a: PitchIntervalClassSet$1, b: PitchIntervalClassSet$1) => PitchIntervalClassSet$1;
declare const intersection: (a: PitchIntervalClassSet$1, b: PitchIntervalClassSet$1) => PitchIntervalClassSet$1;
declare const symmetricDifference: (a: PitchIntervalClassSet$1, b: PitchIntervalClassSet$1) => PitchIntervalClassSet$1;
declare const difference: (a: PitchIntervalClassSet$1, b: PitchIntervalClassSet$1) => PitchIntervalClassSet$1;
declare const has: (pcs: PitchIntervalClassSet$1, pc: PitchIntervalClass) => boolean;
declare const add: (pcs: PitchIntervalClassSet$1, pc: PitchIntervalClass) => PitchIntervalClassSet$1;
declare const remove: (pcs: PitchIntervalClassSet$1, pc: PitchIntervalClass) => PitchIntervalClassSet$1;
declare const toggle: (pcs: PitchIntervalClassSet$1, pc: PitchIntervalClass) => PitchIntervalClassSet$1;
declare const isSuperset: (value: PitchIntervalClassSet$1, of: PitchIntervalClassSet$1) => boolean;
declare const isSubset: (value: PitchIntervalClassSet$1, of: PitchIntervalClassSet$1) => boolean;
declare const values: (pics: PitchIntervalClassSet$1) => PitchIntervalClass[];

declare const PitchIntervalClassSet_ALL: typeof ALL;
declare const PitchIntervalClassSet_EMPTY: typeof EMPTY;
type PitchIntervalClassSet_PitchIntervalClassSetBrand = PitchIntervalClassSetBrand;
type PitchIntervalClassSet_Shape = Shape;
declare const PitchIntervalClassSet_add: typeof add;
declare const PitchIntervalClassSet_difference: typeof difference;
declare const PitchIntervalClassSet_from: typeof from;
declare const PitchIntervalClassSet_fromRaw: typeof fromRaw;
declare const PitchIntervalClassSet_fromRawMasked: typeof fromRawMasked;
declare const PitchIntervalClassSet_fromRawUnknown: typeof fromRawUnknown;
declare const PitchIntervalClassSet_has: typeof has;
declare const PitchIntervalClassSet_hasShape: typeof hasShape;
declare const PitchIntervalClassSet_intersection: typeof intersection;
declare const PitchIntervalClassSet_isSubset: typeof isSubset;
declare const PitchIntervalClassSet_isSuperset: typeof isSuperset;
declare const PitchIntervalClassSet_mark: typeof mark;
declare const PitchIntervalClassSet_markRaw: typeof markRaw;
declare const PitchIntervalClassSet_markRawUnknown: typeof markRawUnknown;
declare const PitchIntervalClassSet_remove: typeof remove;
declare const PitchIntervalClassSet_symmetricDifference: typeof symmetricDifference;
declare const PitchIntervalClassSet_toggle: typeof toggle;
declare const PitchIntervalClassSet_toggleAll: typeof toggleAll;
declare const PitchIntervalClassSet_union: typeof union;
declare const PitchIntervalClassSet_values: typeof values;
declare namespace PitchIntervalClassSet {
  export { PitchIntervalClassSet_ALL as ALL, PitchIntervalClassSet_EMPTY as EMPTY, type PitchIntervalClassSet$1 as PitchIntervalClassSet, type PitchIntervalClassSet_PitchIntervalClassSetBrand as PitchIntervalClassSetBrand, type PitchIntervalClassSet_Shape as Shape, PitchIntervalClassSet_add as add, PitchIntervalClassSet_difference as difference, PitchIntervalClassSet_from as from, PitchIntervalClassSet_fromRaw as fromRaw, PitchIntervalClassSet_fromRawMasked as fromRawMasked, PitchIntervalClassSet_fromRawUnknown as fromRawUnknown, PitchIntervalClassSet_has as has, PitchIntervalClassSet_hasShape as hasShape, PitchIntervalClassSet_intersection as intersection, PitchIntervalClassSet_isSubset as isSubset, PitchIntervalClassSet_isSuperset as isSuperset, PitchIntervalClassSet_mark as mark, PitchIntervalClassSet_markRaw as markRaw, PitchIntervalClassSet_markRawUnknown as markRawUnknown, PitchIntervalClassSet_remove as remove, PitchIntervalClassSet_symmetricDifference as symmetricDifference, PitchIntervalClassSet_toggle as toggle, PitchIntervalClassSet_toggleAll as toggleAll, PitchIntervalClassSet_union as union, PitchIntervalClassSet_values as values };
}

export { ALL as A, EMPTY as E, PitchIntervalClassSet as P, type Shape as S, type PitchIntervalClassSetBrand as a, type PitchIntervalClassSet$1 as b, markRaw as c, markRawUnknown as d, fromRawMasked as e, fromRaw as f, fromRawUnknown as g, hasShape as h, from as i, intersection as j, difference as k, has as l, mark as m, add as n, toggle as o, isSuperset as p, isSubset as q, remove as r, symmetricDifference as s, toggleAll as t, union as u, values as v };
