SqPointSet.d.ts (1999B)
1 import { ContinuousShape } from "../../../PointSet/Continuous.js"; 2 import { DiscreteShape } from "../../../PointSet/Discrete.js"; 3 import { MixedShape } from "../../../PointSet/Mixed.js"; 4 import { AnyPointSet } from "../../../PointSet/PointSet.js"; 5 import { SqPointSetDistribution } from "./index.js"; 6 declare enum Tag { 7 Mixed = "Mixed", 8 Discrete = "Discrete", 9 Continuous = "Continuous" 10 } 11 export type SqPoint = { 12 x: number; 13 y: number; 14 }; 15 export type SqShape = { 16 continuous: SqPoint[]; 17 discrete: SqPoint[]; 18 }; 19 export declare function wrapPointSet(value: AnyPointSet): SqContinuousPointSet | SqDiscretePointSet | SqMixedPointSet; 20 declare abstract class SqAbstractPointSet<S extends AnyPointSet> { 21 constructor(_value: S); 22 abstract get value(): S; 23 abstract asShape(): SqShape; 24 abstract asDistribution(): SqPointSetDistribution; 25 } 26 export declare class SqMixedPointSet implements SqAbstractPointSet<MixedShape> { 27 private _value; 28 tag: Tag.Mixed; 29 constructor(_value: MixedShape); 30 get value(): MixedShape; 31 asShape(): { 32 discrete: SqPoint[]; 33 continuous: SqPoint[]; 34 }; 35 asDistribution(): SqPointSetDistribution; 36 } 37 export declare class SqDiscretePointSet implements SqAbstractPointSet<DiscreteShape> { 38 private _value; 39 tag: Tag.Discrete; 40 constructor(_value: DiscreteShape); 41 get value(): DiscreteShape; 42 asShape(): { 43 discrete: SqPoint[]; 44 continuous: never[]; 45 }; 46 asDistribution(): SqPointSetDistribution; 47 } 48 export declare class SqContinuousPointSet implements SqAbstractPointSet<ContinuousShape> { 49 private _value; 50 tag: Tag.Continuous; 51 constructor(_value: ContinuousShape); 52 get value(): ContinuousShape; 53 asShape(): { 54 discrete: never[]; 55 continuous: SqPoint[]; 56 }; 57 asDistribution(): SqPointSetDistribution; 58 } 59 export type SqPointSet = SqMixedPointSet | SqDiscretePointSet | SqContinuousPointSet; 60 export {}; 61 //# sourceMappingURL=SqPointSet.d.ts.map