import type { VizMetaAttrs } from './inference'; import type { AttrSets, RevizPositionDatum, RevizTextDatum } from './attributes'; export interface PresAttrs { fill: string[]; stroke: string[]; ['fill-opacity']: string[]; ['stroke-opacity']: string[]; ['stroke-width']: string[]; } export interface Scatterplot extends PresAttrs { type: 'Scatterplot'; r: number; } export interface BubbleChart extends PresAttrs { type: 'BubbleChart'; } export interface StripPlot extends PresAttrs { type: 'StripPlot'; r: number; } export interface BarChart extends PresAttrs { type: 'BarChart'; width: number; } export interface StackedBarChart extends PresAttrs { type: 'StackedBarChart'; width: number; } export interface Histogram extends PresAttrs { type: 'Histogram'; width: number; } export declare type VizSpec = Scatterplot | BubbleChart | StripPlot | BarChart | StackedBarChart | Histogram; /** * Predicate functions. * * Predicates are used to encode constraints about a particular characteristic of a visualization. * A visualization type is _uniquely_ defined by composing a particular set of constraints. * We then use lodash's overEvery function to compose these predicates; a visualization is of a * particular type if it returns true for all of that visualization's associated predicates. */ interface VizAttrs extends VizMetaAttrs { geomAttrs: AttrSets; presAttrs: AttrSets; textAttrs: RevizTextDatum[]; positionAttrs: RevizPositionDatum[]; } /** * buildVizSpec generates the visualization specification from a normalized schema * containing visualization attributes. * * @param vizAttrs – the schema of visualization attributes. * @returns – the visualization specification for the svg subtree. */ export declare const buildVizSpec: (vizAttrs: VizAttrs) => VizSpec; export {};