import { AbstractKnotSequence } from "./AbstractKnotSequence";
import { Knot } from "./Knot";
import { AbstractPeriodicKnotSequenceClosedCurve_type, Uniform_PeriodicKnotSequence } from "./KnotSequenceConstructorInterface";
import { KnotIndexStrictlyIncreasingSequence } from "./KnotIndexStrictlyIncreasingSequence";
export declare abstract class AbstractPeriodicKnotSequence extends AbstractKnotSequence {
    protected _uMax: number;
    protected knotSequence: Knot[];
    protected _isKnotMultiplicityNonUniform: boolean;
    constructor(maxMultiplicityOrder: number, knotParameters: AbstractPeriodicKnotSequenceClosedCurve_type);
    get uMax(): number;
    get isKnotMultiplicityNonUniform(): boolean;
    checkNonUniformKnotMultiplicityOrder(): void;
    checkNormalizedBasisOrigin(): void;
    getPeriod(): number;
    lastKnot(): number;
    checkKnotMultiplicitiesAtNormalizedBasisBoundaries(): void;
    computeKnotSequenceFromMaxMultiplicityOrder(): void;
    computeUniformKnotSequenceFromBsplBasisSize(knotParameters: Uniform_PeriodicKnotSequence): void;
    decrementKnotMultiplicityMutSeq(index: KnotIndexStrictlyIncreasingSequence | Array<KnotIndexStrictlyIncreasingSequence>): void;
    raiseKnotMultiplicityArrayMutSeq(indicesArray: KnotIndexStrictlyIncreasingSequence | Array<KnotIndexStrictlyIncreasingSequence>, multiplicity: number): void;
    insertKnotMutSeq(abscissae: number | number[], multiplicity?: number): void;
}
//# sourceMappingURL=AbstractPeriodicKnotSequence.d.ts.map