import { Combination } from ".";
/**
 * The {@code ImmutableCombination} class represents a combination of elements that cannot
 * be modified after creation. It encapsulates an instance of the {@code Combination} class,
 * providing an immutable interface for handling set operations relevant to combinatorial
 * structures in various contexts, including music theory.
 */
export declare class ImmutableCombination {
    protected readonly combination: Combination;
    protected constructor(combination: Combination);
    static fromCombination(c: Combination): ImmutableCombination;
    static fromBinarySequence(seq: boolean[]): ImmutableCombination;
    static createWithSize(n: number): ImmutableCombination;
    static createWithSizeAndSet(n: number, set: Set<number>): ImmutableCombination;
    getN(): number;
    getK(): number;
    combinationString(): string;
    getIntervalVector(): number[];
    rotate(t: number): ImmutableCombination;
    intersect(c: ImmutableCombination): ImmutableCombination;
    minus(c: ImmutableCombination): ImmutableCombination;
    static merge(a: ImmutableCombination, b: ImmutableCombination): ImmutableCombination;
    mergeWith(c: ImmutableCombination): ImmutableCombination;
    symmetricDifference(y: ImmutableCombination): ImmutableCombination;
    get(bitIndex: number): boolean;
    isEmpty(): boolean;
    toString(): string;
    asSequence(): number[];
    equals(obj: any): boolean;
}
