import { MixedSet } from "../utility/MixedSet.js"; import * as Result from "../utility/result.js"; import { result } from "../utility/result.js"; import { ContinuousShape } from "./Continuous.js"; import { DiscreteShape } from "./Discrete.js"; import { MixedShape } from "./Mixed.js"; import { MixedPoint } from "./MixedPoint.js"; export type ConvolutionOperation = "Add" | "Multiply" | "Subtract"; export type DistributionType = "PDF" | "CDF"; export declare const convolutionOperationToFn: (op: ConvolutionOperation) => ((x: number, y: number) => number); export type AnyPointSet = MixedShape | ContinuousShape | DiscreteShape; export interface PointSet { minX(): number; maxX(): number; mapY(fn: (y: number) => number, integralSumCacheFn?: (sum: number) => number | undefined, integralCacheFn?: (cache: ContinuousShape) => ContinuousShape | undefined): T; mapYResult(fn: (y: number) => result, integralSumCacheFn: undefined | ((sum: number) => number | undefined), integralCacheFn: undefined | ((cache: ContinuousShape) => ContinuousShape | undefined)): result; xToY(x: number): MixedPoint; isEmpty(): boolean; toContinuous(): ContinuousShape | undefined; toDiscrete(): DiscreteShape | undefined; toMixed(): MixedShape; normalize(): T; toDiscreteProbabilityMassFraction(): number; downsample(length: number): T; truncate(left: number | undefined, right: number | undefined): T; integral(): ContinuousShape; integralSum(): number; integralXtoY(x: number): number; integralYtoX(y: number): number; withAdjustedIntegralSum(sum: number): T; mean(): number; variance(): number; yTransform(): MixedShape; support(): MixedSet; } export declare const combinePointwise: (t1: AnyPointSet, t2: AnyPointSet, fn: (v1: number, v2: number) => Result.result, integralSumCachesFn?: (v1: number, v2: number) => number | undefined, integralCachesFn?: (s1: ContinuousShape, s2: ContinuousShape) => ContinuousShape | undefined) => result; export declare const isContinuous: (d: AnyPointSet) => d is ContinuousShape; export declare const isDiscrete: (d: AnyPointSet) => d is DiscreteShape; //# sourceMappingURL=PointSet.d.ts.map