import { FeatureStateModel } from '../features/models.js'; import { EvaluationContext } from '../evaluation/evaluationContext/evaluationContext.types.js'; import { EvaluationResultSegments } from '../evaluation/models.js'; export declare const all: (iterable: Array) => boolean; export declare const any: (iterable: Array) => boolean; export declare const matchingFunctions: { [x: string]: (thisValue: any, otherValue: any) => any; }; export declare const semverMatchingFunction: { [x: string]: ((thisValue: any, otherValue: any) => any) | ((conditionValue: any, traitValue: 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 | string[]; property: string | null | undefined; constructor(operator: string, value?: string | null | undefined | string[], 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): boolean; matchingFunction(): CallableFunction; } export declare class SegmentModel { id: number; name: string; rules: SegmentRuleModel[]; featureStates: FeatureStateModel[]; constructor(id: number, name: string); static fromSegmentResult(segmentResults: EvaluationResultSegments, evaluationContext: EvaluationContext): SegmentModel[]; private static createFeatureStatesFromOverrides; private static createMultivariateValues; }