export declare enum Operation {
    Add = "Add",
    Subtract = "Subtract",
    Multiply = "Multiply",
    Divide = "Divide",
    X = "X",
    Y = "Y",
    Power = "Power",
    Log = "Log",
    Min = "Min",
    Max = "Max",
    Modulo = "Modulo",
    Bounce = "Bounce",
    Distance = "Distance",
    And = "And",
    Nand = "Nand",
    Or = "Or",
    Nor = "Nor",
    Implication = "Implication",
    ReverseImplication = "ReverseImplication",
    Xor = "Xor",
    Xnor = "Xnor",
    ShiftBits = "ShiftBits",
    ProjectBits = "ProjectBits",
    LCM = "LCM",
    GCD = "GCD",
    Equal = "Equal",
    NotEqual = "NotEqual",
    LessThan = "LessThan",
    LessThanOrEqual = "LessThanOrEqual",
    GreaterThan = "GreaterThan",
    GreaterThanOrEqual = "GreaterThanOrEqual",
    Binomial = "Binomial",
    ExpandBits = "ExpandBits",
    ExpandBitsFill = "ExpandBitsFill",
    CantorIntervalBinaryNumber = "CantorIntervalBinaryNumber",
    PermuteBits = "PermuteBits",
    HardThreshold = "HardThreshold",
    RandInt = "RandInt",
    IterateBetween = "IterateBetween",
    Bits = "Bits",
    Trits = "Trits",
    TritAnd = "TritAnd",
    TritNand = "TritNand",
    TritOr = "TritOr",
    TritNor = "TritNor",
    TritCons = "TritCons",
    TritNcons = "TritNcons",
    TritAny = "TritAny",
    TritNany = "TritNany",
    TritMul = "TritMul",
    TritNmul = "TritNmul",
    TritSum = "TritSum",
    TritNsum = "TritNsum"
}
export declare enum Combiner {
    Product = "Product",
    SwappedProduct = "SwappedProduct",
    Divisive = "Divisive",
    Convolution = "Convolution",
    Triangular = "Triangular",
    SwappedTriangular = "SwappedTriangular",
    Recycle = "Recycle",
    Apply = "Apply",
    MixedRadix = "Mixed Radix"
}
export declare class Sequence {
    private items;
    constructor(...items: number[]);
    toString(): string;
    add(item: number): void;
    size(): number;
    get(index: number): number | undefined;
    set(index: number, value: number): void;
    concat(n: number[]): number[];
    toArray(): number[];
    signs(): Sequence;
    isNatural(): boolean;
    difference(): Sequence;
    cyclicalDifference(): Sequence;
    antidifference(k: number): Sequence;
    cyclicalAntidifference(k: number): Sequence;
    getSymmetries(): number[];
    static parse(s: string): Sequence;
    getMean(): number;
    sum(): number;
    getMin(): number;
    getMax(): number;
    rotate(n: number): Sequence;
    static fromArray(arr: number[]): Sequence;
    frequencyMap(): Map<number, number>;
    static genRnd(length: number, amp: number, sum: number, maxAmp: number, exclude0: boolean): Sequence;
    private static calculateIntervalVector;
    static calcIntervalVector(input: boolean[]): Sequence;
    static calcIntervalVectorBitSet(input: boolean[], n: number): Sequence;
    static calcIntervalVectorDistinct(sequence: Sequence): Map<number, Sequence>;
    static calcIntervalVectorInts(input: number[]): Map<number, Sequence>;
    static combine(combiner: Combiner, operation: Operation, x: Sequence, y: Sequence): Sequence;
}
