import { VegaChart } from "./chart_base"; import type { PresetName } from "./preset"; import { type VegaLiteSpec } from "./specs"; import { type ChartTheme } from "./theme"; import type { ThemeMode } from "./types"; /** * Render a plain Vega-Lite top-level spec. Labels/rules are ordinary VL marks * in `layer` so they pan/zoom with the chart. */ export interface RawChartConfig { /** A Vega-Lite top-level spec. */ spec: VegaLiteSpec; preset?: PresetName; theme?: ThemeMode; /** Scale-bound pan/zoom when the spec has continuous x/y. Default true. */ interactive?: boolean; /** Responsive width:height ratio. Default 4 / 3. */ aspectRatio?: number; } export declare class RawChart extends VegaChart { private spec; private interactive; private aspectRatio; constructor(container: HTMLElement, config: RawChartConfig); update(config: RawChartConfig): Promise; private applyConfig; protected datasets(): Record; protected resizeChanged(previous: { width: number; height: number; }, next: { width: number; height: number; }): boolean; protected buildSpec(theme: ChartTheme, sizeHint: { width: number; height: number; }): VegaLiteSpec; }