import * as mr from './fp';
export declare type Initializer = string | number | (number | mr.Range)[] | MultiRange;
export declare class MultiRange {
    private ranges;
    private options;
    constructor(data?: Initializer, options?: mr.Options);
    clone(): MultiRange;
    append(value: Initializer): MultiRange;
    subtract(value: Initializer): MultiRange;
    intersect(value: Initializer): MultiRange;
    getRanges(): number[][];
    has(value: Initializer): boolean;
    segmentLength(): number;
    length(): number;
    equals(cmp: Initializer): boolean;
    isUnbounded(): boolean;
    min(): number | undefined;
    max(): number | undefined;
    shift(): number | undefined;
    pop(): number | undefined;
    toString(): string;
    toArray(): number[];
    getIterator(): {
        next: () => {
            done?: boolean;
            value?: number;
        };
    };
    [Symbol.iterator](): Iterator<number, any, undefined>;
}
export declare const multirange: (data?: Initializer, options?: mr.Options) => MultiRange;
