import { FeatureStateModel } from '../features/models.js';
export declare const all: (iterable: Array<any>) => boolean;
export declare const any: (iterable: Array<any>) => boolean;
export declare const matchingFunctions: {
    [x: string]: (thisValue: any, otherValue: any) => any;
};
export declare const semverMatchingFunction: {
    [x: string]: ((thisValue: any, otherValue: any) => any) | ((thisValue: any, otherValue: any) => boolean);
};
export declare const getMatchingFunctions: (semver: boolean) => {
    [x: string]: (thisValue: any, otherValue: any) => any;
};
export declare class SegmentConditionModel {
    EXCEPTION_OPERATOR_METHODS: {
        [key: string]: string;
    };
    operator: string;
    value: string | null | undefined;
    property_: string | null | undefined;
    constructor(operator: string, value?: string | null | undefined, property?: string | null | undefined);
    matchesTraitValue(traitValue: any): any;
}
export declare class SegmentRuleModel {
    type: string;
    rules: SegmentRuleModel[];
    conditions: SegmentConditionModel[];
    constructor(type: string);
    static none(iterable: Array<any>): boolean;
    matchingFunction(): CallableFunction;
}
export declare class SegmentModel {
    id: number;
    name: string;
    rules: SegmentRuleModel[];
    featureStates: FeatureStateModel[];
    constructor(id: number, name: string);
}
