time-to-botec/squiggle/node_modules/@quri/squiggle-lang/dist/src/js/SqPointSetDist.d.ts
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00

46 lines
1.6 KiB
TypeScript

import * as RSPointSetDist from "../rescript/ForTS/ForTS_Distribution/ForTS_Distribution_PointSetDistribution.gen";
import { pointSetDistributionTag as Tag } from "../rescript/ForTS/ForTS_Distribution/ForTS_Distribution_PointSetDistribution_tag";
declare type T = RSPointSetDist.pointSetDistribution;
export declare type SqPoint = {
x: number;
y: number;
};
export declare type SqShape = {
continuous: SqPoint[];
discrete: SqPoint[];
};
export declare const wrapPointSetDist: (value: T) => SqMixedPointSetDist | SqDiscretePointSetDist | SqContinuousPointSetDist;
declare abstract class SqAbstractPointSetDist {
private _value;
constructor(_value: T);
abstract asShape(): SqShape;
protected valueMethod: <IR>(rsMethod: (v: T) => IR | null | undefined) => NonNullable<IR>;
asDistribution(): import("./SqDistribution").SqDistribution;
}
export declare class SqMixedPointSetDist extends SqAbstractPointSetDist {
tag: Tag.Mixed;
get value(): RSPointSetDist.mixedShape;
asShape(): {
discrete: SqPoint[];
continuous: SqPoint[];
};
}
export declare class SqDiscretePointSetDist extends SqAbstractPointSetDist {
tag: Tag.Discrete;
get value(): RSPointSetDist.discreteShape;
asShape(): {
discrete: SqPoint[];
continuous: never[];
};
}
export declare class SqContinuousPointSetDist extends SqAbstractPointSetDist {
tag: Tag.Continuous;
get value(): RSPointSetDist.continuousShape;
asShape(): {
discrete: never[];
continuous: SqPoint[];
};
}
export declare type SqPointSetDist = SqMixedPointSetDist | SqDiscretePointSetDist | SqContinuousPointSetDist;
export {};