import type { GetSplitsReturnType } from '../modality/getSplits.js'; import { INVALID_LEFT, INVALID_RIGHT } from '../optimize.js'; import type { ComparisonResult, InternalGetOutcomeOptions } from './types.js'; export interface ComparisonQualityWeightingOptions { stdevDiffPenaltyFactor: number; discardedDataPenaltyFactor: number; highPooledStdevPenaltyFactor: number; highMeanDistanceRatioPenaltyFactor: number; noiseSizeBonusFactor: number; modalityCountSimilarityBonusFactor: number; } export declare const getIsUsableModality: (minimalSplitLength?: number) => (split: [number[] | undefined, number[] | undefined]) => split is [number[], number[]]; export declare const getCachedCompareFunction: ({ stdevDiffPenaltyFactor, discardedDataPenaltyFactor, highPooledStdevPenaltyFactor, highMeanDistanceRatioPenaltyFactor, noiseSizeBonusFactor, modalityCountSimilarityBonusFactor, }: Partial) => (_splitsA: readonly [GetSplitsReturnType, GetSplitsReturnType], _splitsB: readonly [GetSplitsReturnType, GetSplitsReturnType], indexA: number, indexB: number, cache: { comparisons: (ComparisonResult | undefined)[]; maxPooledStdev: number; maxStdevDifference: number; maxNoiseCount1: number; maxNoiseCount2: number; maxMeanDistance1: number; maxMeanDistance2: number; maxDiscardedCount1: number; maxDiscardedCount2: number; } | undefined) => typeof INVALID_LEFT | typeof INVALID_RIGHT | [compareRank: number, compareMeta: ComparisonResult]; export declare function compareSplitPermutations({ data1, data2, minimalModalitySize, splitPermutations, confidenceLevel, getOutcomeOptions, minimumUsedToTotalSamplesRatio, }: { data1: number[]; data2: number[]; splitPermutations: (readonly [GetSplitsReturnType, GetSplitsReturnType])[]; minimalModalitySize: number; confidenceLevel: number; getOutcomeOptions: InternalGetOutcomeOptions; minimumUsedToTotalSamplesRatio: number; }): { comparisons: (ComparisonResult | undefined)[]; maxPooledStdev: number; maxStdevDifference: number; maxNoiseCount1: number; maxNoiseCount2: number; maxMeanDistance1: number; maxMeanDistance2: number; maxDiscardedCount1: number; maxDiscardedCount2: number; }; //# sourceMappingURL=compareSplitPermutations.d.ts.map