import { BaseDist } from "../dists/BaseDist.js"; import { SampleSetDist } from "../dists/SampleSetDist/index.js"; import { Lambda } from "../reducer/lambda/index.js"; import { SquiggleDeserializationVisitor, SquiggleSerializationVisitor } from "../serialization/squiggle.js"; import { BaseValue } from "./BaseValue.js"; import { Value } from "./index.js"; import { Indexable } from "./mixins.js"; import { SerializedDist } from "./VDist.js"; import { Scale } from "./VScale.js"; export type LabeledDistribution = { name?: string; distribution: BaseDist; }; export type CommonPlotArgs = { title?: string; }; export type Plot = CommonPlotArgs & ({ type: "distributions"; distributions: readonly LabeledDistribution[]; xScale: Scale; yScale: Scale; showSummary: boolean; } | { type: "numericFn"; fn: Lambda; xScale: Scale; yScale: Scale; xPoints?: number[]; } | { type: "distFn"; fn: Lambda; xScale: Scale; yScale: Scale; distXScale: Scale; xPoints?: number[]; } | { type: "scatter"; xDist: SampleSetDist; yDist: SampleSetDist; xScale: Scale; yScale: Scale; } | { type: "relativeValues"; fn: Lambda; ids: readonly string[]; }); type TypedPlot = Extract; export type SerializedLabeledDistribution = { name: string | null; distribution: SerializedDist; }; type SerializedPlot = (Omit, "distributions"> & { distributions: readonly SerializedLabeledDistribution[]; }) | (Omit, "fn"> & { fn: number; }) | (Omit, "fn"> & { fn: number; }) | (Omit, "xDist" | "yDist"> & { xDist: SerializedDist; yDist: SerializedDist; }) | (Omit, "fn"> & { fn: number; }); export declare class VPlot extends BaseValue<"Plot", SerializedPlot> implements Indexable { value: Plot; readonly type = "Plot"; constructor(value: Plot); valueToString(): string; get(key: Value): import("./vLambda.js").VLambda; serializePayload(visit: SquiggleSerializationVisitor): SerializedPlot; static deserialize(value: SerializedPlot, visit: SquiggleDeserializationVisitor): VPlot; } export declare function vPlot(plot: Plot): VPlot; export {}; //# sourceMappingURL=VPlot.d.ts.map