Pivot Charts
For calculation input policies, defaults, execution pins, count meanings and numeric limits, see Aggregation policies. Signatures below describe the current supported exports; a server capability advertisement does not establish equivalent local/server results.
Module Extensions
Section titled “Module Extensions”HTMLRevoGridElement (Extended from global)
Section titled “HTMLRevoGridElement (Extended from global)”interface HTMLRevoGridElement { /** * Renderer, complete-data provider, defaults, and safety limits for * renderer-neutral Pivot Charts. */ pivotCharts?: PivotChartsConfig; /** * Optional modeless-dialog and context-menu integration for Pivot Charts. */ pivotChartsUi?: PivotChartsUiConfig; /** * Enable accessibility. If disabled, the grid will not be accessible. * @default true */ "accessible": boolean; /** * Add trimmed by type */ "addTrimmed": (trimmed: Record<number, boolean>, trimmedType?: string, type?: DimensionRows) => Promise<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>; /** * Additional data to be passed to plugins, renders or editors. For example if you need to pass Vue component instance. * @default {} */ "additionalData": AdditionalData; /** * Apply changes in editor when closed except 'Escape' cases. If custom editor in use method getValue required. Check interfaces.d.ts `EditorBase` for more info. * @default false */ "applyOnClose": boolean; /** * Autosize config. Enables columns autoSize. For more details check `autoSizeColumn` plugin. By default disabled, hence operation is not performance efficient. `true` to enable with default params (double header separator click for autosize). Or define config. See `AutoSizeColumnConfig` for more details. * @default false */ "autoSizeColumn": boolean | AutoSizeColumnConfig; /** * Disable native drag&drop plugin. * @default true */ "canDrag": boolean; /** * When true cell focus appear. * @default true */ "canFocus": boolean; /** * Enable column move plugin. * @default false */ "canMoveColumns": boolean; /** * Clear current grid focus. Grid has no longer focus on it. */ "clearFocus": () => Promise<void>; /** * Clears column sorting */ "clearSorting": () => Promise<void>; /** * Indicates default column size. * @default 100 */ "colSize": number; /** * Column Types Format. Every type represent multiple column properties. Types will be merged but can be replaced with column properties. Types were made as separate objects to be reusable per multiple columns. * @default {} */ "columnTypes": { [name: string]: ColumnType }; /** * Columns - defines an array of grid columns. Can be column or grouped column. * @default [] */ "columns": (ColumnRegular | ColumnGrouping)[]; /** * Disable lazy rendering mode for the `X axis`. Use when not many columns present and you don't need rerenader cells during scroll. Can be used for initial rendering performance improvement. * @default false */ "disableVirtualX": boolean; /** * Disable lazy rendering mode for the `Y axis`. Use when not many rows present and you don't need rerenader cells during scroll. Can be used for initial rendering performance improvement. * @default false */ "disableVirtualY": boolean; /** * Custom editors register. * @default {} */ "editors": Editors; /** * Enable export plugin. * @default false */ "exporting": boolean; /** * Enables filter plugin. Disabled by default; set to `true` or a configuration object to enable. Can be boolean. Or can be filter collection See `FilterCollection` for more info. * @default false */ "filter": boolean | ColumnFilterConfig; /** * Apply changes typed in editor on editor close except Escape cases. If custom editor in use method `getValue` required. Check `interfaces.d.ts` `EditorBase` for more info. */ "focusTemplate": FocusTemplateFunc; /** * Defines how many rows/columns should be rendered outside visible area. * @default 1 */ "frameSize": number; /** * Provides access to column internal store observer Can be used for plugin support * @param type - type of column */ "getColumnStore": (type?: DimensionCols) => Promise<Observable<DSourceState<ColumnRegular, DimensionCols>>>; /** * Receive all columns in data source */ "getColumns": () => Promise<ColumnRegular[]>; /** * Get size of content Including all pinned data */ "getContentSize": () => Promise<Cell>; /** * Get the currently focused cell. */ "getFocused": () => Promise<FocusedData | null>; /** * Get all active plugins instances */ "getPlugins": () => Promise<PluginBaseComponent[]>; /** * Get all providers for grid Useful for external grid integration */ "getProviders": () => Promise<PluginProviders | undefined>; /** * Get the currently selected Range. */ "getSelectedRange": () => Promise<(RangeArea & AllDimensionType) | null>; /** * Get data from source */ "getSource": (type?: DimensionRows) => Promise<DataType[]>; /** * Provides access to rows internal store observer Can be used for plugin support * @param type - type of source */ "getSourceStore": (type?: DimensionRows) => Promise<Observable<DSourceState<DataType, DimensionRows>>>; /** * Get data from visible part of source Trimmed/filtered rows will be excluded * @param type - type of source */ "getVisibleSource": (type?: DimensionRows) => Promise<any[]>; /** * Group rows based on this property. Define properties to be groped by grouping plugin See `GroupingOptions`. */ "grouping": GroupingOptions; /** * Please only hide the attribution if you are subscribed to Pro version * @default false */ "hideAttribution": boolean; /** * Prevent rendering until job is done. Can be used for initial rendering performance improvement. When several plugins require initial rendering this will prevent double initial rendering. * @default [] */ "jobsBeforeRender": Promise<any>[]; /** * Prevents horizontal scroll state from being mirrored across viewport sections. * @default false */ "noHorizontalScrollTransfer": boolean; /** * Pinned bottom Source: {[T in ColumnProp]: any} - defines pinned bottom rows data source. * @default [] */ "pinnedBottomSource": DataType[]; /** * Pinned top Source: {[T in ColumnProp]: any} - defines pinned top rows data source. * @default [] */ "pinnedTopSource": DataType[]; /** * Custom grid plugins. Can be added or removed at runtime. Every plugin should be inherited from BasePlugin class. For more details check [Plugin guide](https://rv-grid.com/guide/plugin/) * @default [] */ "plugins": GridPlugin[]; /** * When true, user can select a cell range. Required for range-based clipboard fill. * @default false */ "range": boolean; /** * When true, grid in read only mode. * @default false */ "readonly": boolean; /** * Refreshes data viewport. Can be specific part as rgRow or pinned rgRow or 'all' by default. */ "refresh": (type?: DimensionRows | "all") => Promise<void>; /** * Refresh extra elements. Triggers re-rendering of extra elements and functions. Part of extraElements and registerVNode methods. Useful for plugins. */ "refreshExtraElements": () => Promise<void>; /** * Register new virtual node inside of grid. Used for additional items creation such as plugin elements. Should be set before grid render inside of plugins. Can return VNode result of h() function or a function that returns VNode. Function can be used for performance improvement and additional renders. * @default [] */ "registerVNode": ( | VNode | ((c: ExtraNodeFuncConfig) => VNode) )[]; /** * When true, columns are resizable. * @default false */ "resize": boolean; /** * Enables row resizing. Pass a configuration object to customize the height limits or enable resize edges across the full row. * @default false */ "resizeRow": boolean | RowResizeConfig; /** * Row class property mapping. Map custom classes to rows from row object data. Define this property in rgRow object and this will be mapped as rgRow class. * @default '' */ "rowClass": string; /** * Custom row properies to be applied. See `RowDefinition` for more info. * @default [] */ "rowDefinitions": RowDefinition[]; /** * Excel like functionality. Show row numbers. Also can be used for custom row header render if object provided. */ "rowHeaders": RowHeaders | boolean; /** * Indicates default rgRow size. By default 0, means theme package size will be applied Alternatively you can use `rowSize` to reset viewport * @default 0 */ "rowSize": number; /** * Enable right-to-left (RTL) mode. When enabled, columns will be displayed from right to left. * @default false */ "rtl": boolean; /** * Scrolls viewport to specified column by index. */ "scrollToColumnIndex": (coordinate?: number) => Promise<void>; /** * Scrolls viewport to specified column by prop */ "scrollToColumnProp": (prop: ColumnProp, dimension?: DimensionTypeCol) => Promise<void>; /** * Scrolls view port to coordinate */ "scrollToCoordinate": (cell: Partial<Cell>) => Promise<void>; /** * Scrolls viewport to specified row by index. */ "scrollToRow": (coordinate?: number) => Promise<void>; /** * Open editor for cell. */ "setCellEdit": (rgRow: number, prop: ColumnProp, rowSource?: DimensionRows) => Promise<void>; /** * Set focus range. */ "setCellsFocus": (cellStart?: Cell, cellEnd?: Cell, colType?: string, rowType?: string) => Promise<void>; /** * Refreshes data at specified cell. Useful for performance optimization. No viewport update will be triggered. * @example const grid = document.querySelector('revo-grid'); grid.setDataAt({ row: 0, col: 0, val: 'test' }); // refresh */ "setDataAt": ({ row, col, colType, rowType, val, skipDataUpdate }: { row: number; col: number; val?: any; skipDataUpdate?: boolean; } & AllDimensionType) => Promise<void | undefined>; /** * Alternative way to set sorting. `{columns: [{prop: 'name', order: 'asc'}]}` Use SortingPlugin to get current sorting state */ "sorting"?: SortingConfig; /** * Source - defines main data source. Can be an Object or 2 dimensional array([][]); Keys/indexes referenced from columns Prop. * @default [] */ "source": DataType[]; /** * Stretch strategy for columns by `StretchColumn` plugin. For example if there are more space on the right last column size would be increased. * @default false */ "stretch": boolean | string; /** * Theme name. * @default 'default' */ "theme": string; /** * Per-grid custom theme definitions. Assign as a JavaScript property; complex values cannot be serialized as HTML attributes. * @default [] */ "themeDefinitions": ThemeDefinition[]; /** * Trimmed rows. Functionality which allows to hide rows from main data set. `trimmedRows` are physical `rgRow` indexes to hide. * @default {} */ "trimmedRows": Record<number, boolean>; /** * Update column sorting * @param column - column prop and cellCompare * @param order - order to apply * @param additive - if false will replace current order later passed to SortingPlugin */ "updateColumnSorting": (column: Pick<ColumnRegular, "prop" | "cellCompare">, order: "asc" | "desc" | undefined, additive: boolean) => Promise<void>; /** * Update columns */ "updateColumns": (cols: ColumnRegular[]) => Promise<void>; /** * When true enable clipboard. Can be boolean or clipboard config. * @default true */ "useClipboard": boolean | ClipboardConfig; /** * Column dimensions that use X axis virtual rendering. Defaults to regular columns only to preserve pinned column behavior. Set to `['rgCol', 'colPinStart', 'colPinEnd']` to virtualize all column areas. * @default ['rgCol'] */ "virtualX": DimensionCols[]; /** Reactive declarative formats consumed by DataGridFormattingPlugin. */ dataGridFormatting?: DataGridFormattingPresetState; dataGridFormattingPanel?: DataGridFormattingPanelSetting; /** * Direct event manager configuration. */ eventManager?: EventManagerConfig; quickFilter?: QuickFilterInput; filterBadges?: AdvancedFilterBadgesConfig; /** * Direct row auto-size configuration. */ rowAutoSize?: RowAutoSizeConfig; /** * Direct row striping configuration. */ rowOdd?: RowOddInput; /** * Direct infinity-scroll configuration. */ infinityScroll?: Partial<InfinityScrollConfig>; pivot?: Partial<PivotConfig>; componentOnReady(): Promise<this>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKey) */ accessKey: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKeyLabel) */ readonly accessKeyLabel: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/autocapitalize) */ autocapitalize: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dir) */ dir: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/draggable) */ draggable: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/hidden) */ hidden: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/inert) */ inert: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/innerText) */ innerText: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/lang) */ lang: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetHeight) */ readonly offsetHeight: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetLeft) */ readonly offsetLeft: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetParent) */ readonly offsetParent: Element | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetTop) */ readonly offsetTop: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetWidth) */ readonly offsetWidth: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/outerText) */ outerText: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/popover) */ popover: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/spellcheck) */ spellcheck: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/title) */ title: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/translate) */ translate: boolean; writingSuggestions: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/attachInternals) */ attachInternals(): ElementInternals; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/click) */ click(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/hidePopover) */ hidePopover(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/showPopover) */ showPopover(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/togglePopover) */ togglePopover(force?: boolean): boolean; addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/attributes) */ readonly attributes: NamedNodeMap; /** * Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/classList) */ readonly classList: DOMTokenList; /** * Returns the value of element's class content attribute. Can be set to change it. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/className) */ className: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/clientHeight) */ readonly clientHeight: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/clientLeft) */ readonly clientLeft: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/clientTop) */ readonly clientTop: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/clientWidth) */ readonly clientWidth: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/currentCSSZoom) */ readonly currentCSSZoom: number; /** * Returns the value of element's id content attribute. Can be set to change it. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/id) */ id: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/innerHTML) */ innerHTML: string; /** * Returns the local name. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/localName) */ readonly localName: string; /** * Returns the namespace. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/namespaceURI) */ readonly namespaceURI: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/fullscreenchange_event) */ onfullscreenchange: ((this: Element, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/fullscreenerror_event) */ onfullscreenerror: ((this: Element, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/outerHTML) */ outerHTML: string; readonly ownerDocument: Document; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/part) */ readonly part: DOMTokenList; /** * Returns the namespace prefix. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/prefix) */ readonly prefix: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollHeight) */ readonly scrollHeight: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollLeft) */ scrollLeft: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollTop) */ scrollTop: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollWidth) */ readonly scrollWidth: number; /** * Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/shadowRoot) */ readonly shadowRoot: ShadowRoot | null; /** * Returns the value of element's slot content attribute. Can be set to change it. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/slot) */ slot: string; /** * Returns the HTML-uppercased qualified name. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/tagName) */ readonly tagName: string; /** * Creates a shadow root for element and returns it. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/attachShadow) */ attachShadow(init: ShadowRootInit): ShadowRoot; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/checkVisibility) */ checkVisibility(options?: CheckVisibilityOptions): boolean; /** * Returns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/closest) */ closest<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null; closest<K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K] | null; closest<K extends keyof MathMLElementTagNameMap>(selector: K): MathMLElementTagNameMap[K] | null; closest<E extends Element = Element>(selectors: string): E | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/computedStyleMap) */ computedStyleMap(): StylePropertyMapReadOnly; /** * Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAttribute) */ getAttribute(qualifiedName: string): string | null; /** * Returns element's attribute whose namespace is namespace and local name is localName, and null if there is no such attribute otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAttributeNS) */ getAttributeNS(namespace: string | null, localName: string): string | null; /** * Returns the qualified names of all element's attributes. Can contain duplicates. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAttributeNames) */ getAttributeNames(): string[]; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAttributeNode) */ getAttributeNode(qualifiedName: string): Attr | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAttributeNodeNS) */ getAttributeNodeNS(namespace: string | null, localName: string): Attr | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getBoundingClientRect) */ getBoundingClientRect(): DOMRect; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getClientRects) */ getClientRects(): DOMRectList; /** * Returns a HTMLCollection of the elements in the object on which the method was invoked (a document or an element) that have all the classes given by classNames. The classNames argument is interpreted as a space-separated list of classes. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getElementsByClassName) */ getElementsByClassName(classNames: string): HTMLCollectionOf<Element>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getElementsByTagName) */ getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>; getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>; getElementsByTagName<K extends keyof MathMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>; /** @deprecated */ getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>; getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getElementsByTagNameNS) */ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1998/Math/MathML", localName: string): HTMLCollectionOf<MathMLElement>; getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getHTML) */ getHTML(options?: GetHTMLOptions): string; /** * Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/hasAttribute) */ hasAttribute(qualifiedName: string): boolean; /** * Returns true if element has an attribute whose namespace is namespace and local name is localName. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/hasAttributeNS) */ hasAttributeNS(namespace: string | null, localName: string): boolean; /** * Returns true if element has attributes, and false otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/hasAttributes) */ hasAttributes(): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/hasPointerCapture) */ hasPointerCapture(pointerId: number): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentElement) */ insertAdjacentElement(where: InsertPosition, element: Element): Element | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentHTML) */ insertAdjacentHTML(position: InsertPosition, string: string): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentText) */ insertAdjacentText(where: InsertPosition, data: string): void; /** * Returns true if matching selectors against element's root yields element, and false otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/matches) */ matches(selectors: string): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture) */ releasePointerCapture(pointerId: number): void; /** * Removes element's first attribute whose qualified name is qualifiedName. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/removeAttribute) */ removeAttribute(qualifiedName: string): void; /** * Removes element's attribute whose namespace is namespace and local name is localName. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/removeAttributeNS) */ removeAttributeNS(namespace: string | null, localName: string): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/removeAttributeNode) */ removeAttributeNode(attr: Attr): Attr; /** * Displays element fullscreen and resolves promise when done. * * When supplied, options's navigationUI member indicates whether showing navigation UI while in fullscreen is preferred or not. If set to "show", navigation simplicity is preferred over screen space, and if set to "hide", more screen space is preferred. User agents are always free to honor user preference over the application's. The default value "auto" indicates no application preference. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/requestFullscreen) */ requestFullscreen(options?: FullscreenOptions): Promise<void>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/requestPointerLock) */ requestPointerLock(options?: PointerLockOptions): Promise<void>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scroll) */ scroll(options?: ScrollToOptions): void; scroll(x: number, y: number): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollBy) */ scrollBy(options?: ScrollToOptions): void; scrollBy(x: number, y: number): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollIntoView) */ scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollTo) */ scrollTo(options?: ScrollToOptions): void; scrollTo(x: number, y: number): void; /** * Sets the value of element's first attribute whose qualified name is qualifiedName to value. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setAttribute) */ setAttribute(qualifiedName: string, value: string): void; /** * Sets the value of element's attribute whose namespace is namespace and local name is localName to value. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setAttributeNS) */ setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setAttributeNode) */ setAttributeNode(attr: Attr): Attr | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setAttributeNodeNS) */ setAttributeNodeNS(attr: Attr): Attr | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setHTMLUnsafe) */ setHTMLUnsafe(html: string): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture) */ setPointerCapture(pointerId: number): void; /** * If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName. * * Returns true if qualifiedName is now present, and false otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/toggleAttribute) */ toggleAttribute(qualifiedName: string, force?: boolean): boolean; /** * @deprecated This is a legacy alias of `matches`. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/matches) */ webkitMatchesSelector(selectors: string): boolean; /** * Returns node's node document's document base URL. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/baseURI) */ readonly baseURI: string; /** * Returns the children. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/childNodes) */ readonly childNodes: NodeListOf<ChildNode>; /** * Returns the first child. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/firstChild) */ readonly firstChild: ChildNode | null; /** * Returns true if node is connected and false otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/isConnected) */ readonly isConnected: boolean; /** * Returns the last child. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/lastChild) */ readonly lastChild: ChildNode | null; /** * Returns the next sibling. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/nextSibling) */ readonly nextSibling: ChildNode | null; /** * Returns a string appropriate for the type of node. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/nodeName) */ readonly nodeName: string; /** * Returns the type of node. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/nodeType) */ readonly nodeType: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/nodeValue) */ nodeValue: string | null; /** * Returns the parent element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/parentElement) */ readonly parentElement: HTMLElement | null; /** * Returns the parent. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/parentNode) */ readonly parentNode: ParentNode | null; /** * Returns the previous sibling. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/previousSibling) */ readonly previousSibling: ChildNode | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/textContent) */ textContent: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/appendChild) */ appendChild<T extends Node>(node: T): T; /** * Returns a copy of node. If deep is true, the copy also includes the node's descendants. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/cloneNode) */ cloneNode(deep?: boolean): Node; /** * Returns a bitmask indicating the position of other relative to node. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/compareDocumentPosition) */ compareDocumentPosition(other: Node): number; /** * Returns true if other is an inclusive descendant of node, and false otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/contains) */ contains(other: Node | null): boolean; /** * Returns node's root. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/getRootNode) */ getRootNode(options?: GetRootNodeOptions): Node; /** * Returns whether node has children. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/hasChildNodes) */ hasChildNodes(): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/insertBefore) */ insertBefore<T extends Node>(node: T, child: Node | null): T; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/isDefaultNamespace) */ isDefaultNamespace(namespace: string | null): boolean; /** * Returns whether node and otherNode have the same properties. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/isEqualNode) */ isEqualNode(otherNode: Node | null): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/isSameNode) */ isSameNode(otherNode: Node | null): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/lookupNamespaceURI) */ lookupNamespaceURI(prefix: string | null): string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/lookupPrefix) */ lookupPrefix(namespace: string | null): string | null; /** * Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/normalize) */ normalize(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/removeChild) */ removeChild<T extends Node>(child: T): T; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/replaceChild) */ replaceChild<T extends Node>(node: Node, child: T): T; /** node is an element. */ readonly ELEMENT_NODE: 1; readonly ATTRIBUTE_NODE: 2; /** node is a Text node. */ readonly TEXT_NODE: 3; /** node is a CDATASection node. */ readonly CDATA_SECTION_NODE: 4; readonly ENTITY_REFERENCE_NODE: 5; readonly ENTITY_NODE: 6; /** node is a ProcessingInstruction node. */ readonly PROCESSING_INSTRUCTION_NODE: 7; /** node is a Comment node. */ readonly COMMENT_NODE: 8; /** node is a document. */ readonly DOCUMENT_NODE: 9; /** node is a doctype. */ readonly DOCUMENT_TYPE_NODE: 10; /** node is a DocumentFragment node. */ readonly DOCUMENT_FRAGMENT_NODE: 11; readonly NOTATION_NODE: 12; /** Set when node and other are not in the same tree. */ readonly DOCUMENT_POSITION_DISCONNECTED: 0x01; /** Set when other is preceding node. */ readonly DOCUMENT_POSITION_PRECEDING: 0x02; /** Set when other is following node. */ readonly DOCUMENT_POSITION_FOLLOWING: 0x04; /** Set when other is an ancestor of node. */ readonly DOCUMENT_POSITION_CONTAINS: 0x08; /** Set when other is a descendant of node. */ readonly DOCUMENT_POSITION_CONTAINED_BY: 0x10; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 0x20; /** * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent) */ dispatchEvent(event: Event): boolean; ariaAtomic:string|null; ariaAutoComplete:string|null; ariaBrailleLabel:string|null; ariaBrailleRoleDescription:string|null; ariaBusy:string|null; ariaChecked:string|null; ariaColCount:string|null; ariaColIndex:string|null; ariaColIndexText:string|null; ariaColSpan:string|null; ariaCurrent:string|null; ariaDescription:string|null; ariaDisabled:string|null; ariaExpanded:string|null; ariaHasPopup:string|null; ariaHidden:string|null; ariaInvalid:string|null; ariaKeyShortcuts:string|null; ariaLabel:string|null; ariaLevel:string|null; ariaLive:string|null; ariaModal:string|null; ariaMultiLine:string|null; ariaMultiSelectable:string|null; ariaOrientation:string|null; ariaPlaceholder:string|null; ariaPosInSet:string|null; ariaPressed:string|null; ariaReadOnly:string|null; ariaRequired:string|null; ariaRoleDescription:string|null; ariaRowCount:string|null; ariaRowIndex:string|null; ariaRowIndexText:string|null; ariaRowSpan:string|null; ariaSelected:string|null; ariaSetSize:string|null; ariaSort:string|null; ariaValueMax:string|null; ariaValueMin:string|null; ariaValueNow:string|null; ariaValueText:string|null; role:string|null; animate(keyframes:Keyframe[]|PropertyIndexedKeyframes|null,options?:number|KeyframeAnimationOptions):Animation; getAnimations(options?:GetAnimationsOptions):Animation[]; after(...nodes:(Node|string)[]):void; before(...nodes:(Node|string)[]):void; remove():void; replaceWith(...nodes:(Node|string)[]):void; /** * Returns the first following sibling that is an element, and null otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/nextElementSibling) */ readonly nextElementSibling: Element | null; /** * Returns the first preceding sibling that is an element, and null otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/previousElementSibling) */ readonly previousElementSibling: Element | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/childElementCount) */ readonly childElementCount: number; /** * Returns the child elements. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/children) */ readonly children: HTMLCollection; /** * Returns the first child that is an element, and null otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/firstElementChild) */ readonly firstElementChild: Element | null; /** * Returns the last child that is an element, and null otherwise. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/lastElementChild) */ readonly lastElementChild: Element | null; /** * Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes. * * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/append) */ append(...nodes: (Node | string)[]): void; /** * Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes. * * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/prepend) */ prepend(...nodes: (Node | string)[]): void; /** * Returns the first element that is a descendant of node that matches selectors. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelector) */ querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null; querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null; querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null; /** @deprecated */ querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null; querySelector<E extends Element = Element>(selectors: string): E | null; /** * Returns all element descendants of node that match selectors. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelectorAll) */ querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>; querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>; querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>; /** @deprecated */ querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>; querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>; /** * Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes. * * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/replaceChildren) */ replaceChildren(...nodes: (Node | string)[]): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/assignedSlot) */ readonly assignedSlot: HTMLSlotElement | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/attributeStyleMap) */ readonly attributeStyleMap: StylePropertyMap; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/style) */ readonly style: CSSStyleDeclaration; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/contentEditable) */ contentEditable: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/enterKeyHint) */ enterKeyHint: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/inputMode) */ inputMode: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/isContentEditable) */ readonly isContentEditable: boolean; /** * Fires when the user aborts the download. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/abort_event) */ onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationcancel_event) */ onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationend_event) */ onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationiteration_event) */ onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationstart_event) */ onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/auxclick_event) */ onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/beforeinput_event) */ onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/beforetoggle_event) */ onbeforetoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Fires when the object loses the input focus. * @param ev The focus event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/blur_event) */ onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/cancel_event) */ oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when playback is possible, but would require further buffering. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/canplay_event) */ oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/canplaythrough_event) */ oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Fires when the contents of the object or selection have changed. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/change_event) */ onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Fires when the user clicks the left mouse button on the object * @param ev The mouse event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/click_event) */ onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/close_event) */ onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/webglcontextlost_event) */ oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Fires when the user clicks the right mouse button in the client area, opening the context menu. * @param ev The mouse event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/contextmenu_event) */ oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/contextrestored_event) */ oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/copy_event) */ oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/cuechange_event) */ oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/cut_event) */ oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; /** * Fires when the user double-clicks the object. * @param ev The mouse event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/dblclick_event) */ ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** * Fires on the source object continuously during a drag operation. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/drag_event) */ ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; /** * Fires on the source object when the user releases the mouse at the close of a drag operation. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragend_event) */ ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; /** * Fires on the target element when the user drags the object to a valid drop target. * @param ev The drag event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragenter_event) */ ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; /** * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation. * @param ev The drag event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragleave_event) */ ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; /** * Fires on the target element continuously while the user drags the object over a valid drop target. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragover_event) */ ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; /** * Fires on the source object when the user starts to drag a text selection or selected object. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragstart_event) */ ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/drop_event) */ ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; /** * Occurs when the duration attribute is updated. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/durationchange_event) */ ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when the media element is reset to its initial state. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/emptied_event) */ onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when the end of playback is reached. * @param ev The event * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/ended_event) */ onended: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Fires when an error occurs during object loading. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/error_event) */ onerror: OnErrorEventHandler; /** * Fires when the object receives focus. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/focus_event) */ onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/formdata_event) */ onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/gotpointercapture_event) */ ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/input_event) */ oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/invalid_event) */ oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Fires when the user presses a key. * @param ev The keyboard event * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/keydown_event) */ onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; /** * Fires when the user presses an alphanumeric key. * @param ev The event. * @deprecated * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/keypress_event) */ onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; /** * Fires when the user releases a key. * @param ev The keyboard event * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/keyup_event) */ onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; /** * Fires immediately after the browser loads the object. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGElement/load_event) */ onload: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when media data is loaded at the current playback position. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadeddata_event) */ onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when the duration and dimensions of the media have been determined. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadedmetadata_event) */ onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when Internet Explorer begins looking for media data. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadstart_event) */ onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/lostpointercapture_event) */ onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; /** * Fires when the user clicks the object with either mouse button. * @param ev The mouse event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mousedown_event) */ onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseenter_event) */ onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseleave_event) */ onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** * Fires when the user moves the mouse over the object. * @param ev The mouse event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mousemove_event) */ onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** * Fires when the user moves the mouse pointer outside the boundaries of the object. * @param ev The mouse event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseout_event) */ onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** * Fires when the user moves the mouse pointer into the object. * @param ev The mouse event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseover_event) */ onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** * Fires when the user releases a mouse button while the mouse is over the object. * @param ev The mouse event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseup_event) */ onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/paste_event) */ onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; /** * Occurs when playback is paused. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/pause_event) */ onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when the play method is requested. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/play_event) */ onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when the audio or video has started playing. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/playing_event) */ onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointercancel_event) */ onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerdown_event) */ onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerenter_event) */ onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerleave_event) */ onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointermove_event) */ onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerout_event) */ onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerover_event) */ onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerup_event) */ onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; /** * Occurs to indicate progress while downloading media data. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/progress_event) */ onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null; /** * Occurs when the playback rate is increased or decreased. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/ratechange_event) */ onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Fires when the user resets a form. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/reset_event) */ onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/resize_event) */ onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; /** * Fires when the user repositions the scroll box in the scroll bar on the object. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scroll_event) */ onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scrollend_event) */ onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/securitypolicyviolation_event) */ onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null; /** * Occurs when the seek operation ends. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seeked_event) */ onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when the current playback position is moved. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seeking_event) */ onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Fires when the current selection changes. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/select_event) */ onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/selectionchange_event) */ onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/selectstart_event) */ onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSlotElement/slotchange_event) */ onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when the download has stopped. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/stalled_event) */ onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/submit_event) */ onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null; /** * Occurs if the load operation has been intentionally halted. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/suspend_event) */ onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs to indicate the current playback position. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/timeupdate_event) */ ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDetailsElement/toggle_event) */ ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchcancel_event) */ ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchend_event) */ ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchmove_event) */ ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchstart_event) */ ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitioncancel_event) */ ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionend_event) */ ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionrun_event) */ ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionstart_event) */ ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; /** * Occurs when the volume is changed, or playback is muted or unmuted. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/volumechange_event) */ onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when playback stops because the next frame of a video resource is not available. * @param ev The event. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/waiting_event) */ onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * @deprecated This is a legacy alias of `onanimationend`. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationend_event) */ onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * @deprecated This is a legacy alias of `onanimationiteration`. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationiteration_event) */ onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * @deprecated This is a legacy alias of `onanimationstart`. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationstart_event) */ onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * @deprecated This is a legacy alias of `ontransitionend`. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionend_event) */ onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/wheel_event) */ onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/autofocus) */ autofocus: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dataset) */ readonly dataset: DOMStringMap; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/nonce) */ nonce?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/tabIndex) */ tabIndex: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/blur) */ blur(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus) */ focus(options?: FocusOptions): void}HTMLRevoGridElementEventMap (Extended from global)
Section titled “HTMLRevoGridElementEventMap (Extended from global)”interface HTMLRevoGridElementEventMap { 'pivot-chart-before-download': PivotChartDownloadEventDetail; 'pivot-chart-downloaded': PivotChartDownloadEventDetail; 'pivot-chart-download-error': PivotChartDownloadErrorEventDetail; 'pivot-chart-created': PivotChartCreatedEventDetail; 'pivot-chart-updated': PivotChartUpdatedEventDetail; 'pivot-chart-destroyed': PivotChartDestroyedEventDetail; 'pivot-chart-node-click': PivotChartNodeClickEventDetail; 'pivot-chart-range-selection-start': ChartRangeSelectionEvent & { chartId: string; }; 'pivot-chart-range-selection-change': ChartRangeSelectionEvent & { chartId: string; }; 'pivot-chart-range-selection-end': ChartRangeSelectionEvent & { chartId: string; }; 'pivot-chart-before-selection': PivotChartSelectionEventDetail; 'pivot-chart-selection-changed': PivotChartSelectionEventDetail; 'pivot-chart-selection-request': PivotChartSelectionEventDetail; 'pivot-chart-selection-error': PivotChartSelectionErrorEventDetail; 'pivot-chart-error': PivotChartErrorEventDetail; 'pivot-chart-before-drill': PivotChartDrillEventDetail; 'pivot-chart-drill-start': PivotChartDrillEventDetail; 'pivot-chart-drilled': PivotChartDrilledEventDetail; 'pivot-chart-drill-error': PivotChartDrillErrorEventDetail; 'pivot-chart-drill-reset': PivotChartDrilledEventDetail; 'pivot-chart-drill-sync': PivotChartDrillSyncEventDetail}Plugin API
Section titled “Plugin API”PivotChartErrorCode
Section titled “PivotChartErrorCode”export type ChartErrorCode = 'PIVOT_NOT_ACTIVE' | 'RENDERER_REQUIRED' | 'UNSUPPORTED_CHART_TYPE' | 'INVALID_DATA_SHAPE' | 'INVALID_SERIES_SELECTION' | 'LIMIT_EXCEEDED' | 'SERVER_PROVIDER_REQUIRED' | 'SERVER_RESPONSE_INCOMPLETE' | 'CAPABILITY_UNAVAILABLE' | 'CHART_ID_CONFLICT' | 'CHART_UPDATE_FAILED';PivotChartError
Section titled “PivotChartError”class ChartError {}toPivotChartError
Section titled “toPivotChartError”export declare function toChartError(error: unknown, fallbackCode?: ChartErrorCode): ChartError;;PIVOT_CHART_CATEGORY_FIELD_ID
Section titled “PIVOT_CHART_CATEGORY_FIELD_ID”CHART_CATEGORY_FIELD_ID: string;PIVOT_CHART_SERIES_FIELD_ID
Section titled “PIVOT_CHART_SERIES_FIELD_ID”CHART_SERIES_FIELD_ID: string;createPivotChartAnalyticalFrame
Section titled “createPivotChartAnalyticalFrame”Produces the renderer-neutral, tidy analytical frame for a projected Pivot dataset. Each matrix cell becomes one observation with stable category, series, and measure field IDs.
export declare function createChartAnalyticalFrame(dataset: Pick<ChartDataset, 'categories' | 'series' | 'values' | 'displayValues' | 'hierarchies' | 'selectionFields' | 'analyticalFrame'>, labels?: { category: string; series: string;}): ChartAnalyticalFrame;;ensurePivotChartAnalyticalFrame
Section titled “ensurePivotChartAnalyticalFrame”export declare function ensureChartAnalyticalFrame(dataset: ChartDataset): ChartDataset;;projectPivotChartAnalyticalFrame
Section titled “projectPivotChartAnalyticalFrame”Project a validated full frame into a matrix subset using semantic cell identities.
export declare function projectChartAnalyticalFrame(source: ChartDataset, target: ChartDataset): ChartAnalyticalFrame;;PIVOT_CHART_DEFINITIONS
Section titled “PIVOT_CHART_DEFINITIONS”CHART_DEFINITIONS: readonly ({ preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "groupedColumn"; renderer: ChartRenderFunction; localization: { labelKey: "groupedColumn"; descriptionKey: "groupedColumn"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "stackedColumn"; renderer: ChartRenderFunction; localization: { labelKey: "stackedColumn"; descriptionKey: "stackedColumn"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "normalizedColumn"; renderer: ChartRenderFunction; localization: { labelKey: "normalizedColumn"; descriptionKey: "normalizedColumn"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "groupedBar"; renderer: ChartRenderFunction; localization: { labelKey: "groupedBar"; descriptionKey: "groupedBar"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "stackedBar"; renderer: ChartRenderFunction; localization: { labelKey: "stackedBar"; descriptionKey: "stackedBar"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "normalizedBar"; renderer: ChartRenderFunction; localization: { labelKey: "normalizedBar"; descriptionKey: "normalizedBar"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "line"; renderer: ChartRenderFunction; localization: { labelKey: "line"; descriptionKey: "line"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "smoothLine"; renderer: ChartRenderFunction; localization: { labelKey: "smoothLine"; descriptionKey: "smoothLine"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "steppedLine"; renderer: ChartRenderFunction; localization: { labelKey: "steppedLine"; descriptionKey: "steppedLine"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "area"; renderer: ChartRenderFunction; localization: { labelKey: "area"; descriptionKey: "area"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "steppedArea"; renderer: ChartRenderFunction; localization: { labelKey: "steppedArea"; descriptionKey: "steppedArea"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "stackedArea"; renderer: ChartRenderFunction; localization: { labelKey: "stackedArea"; descriptionKey: "stackedArea"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "normalizedArea"; renderer: ChartRenderFunction; localization: { labelKey: "normalizedArea"; descriptionKey: "normalizedArea"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "pie"; renderer: ChartRenderFunction; localization: { labelKey: "pie"; descriptionKey: "pie"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "donut"; renderer: ChartRenderFunction; localization: { labelKey: "donut"; descriptionKey: "donut"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "treemap"; renderer: ChartRenderFunction; localization: { labelKey: "treemap"; descriptionKey: "treemap"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "sunburst"; renderer: ChartRenderFunction; localization: { labelKey: "sunburst"; descriptionKey: "sunburst"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "scatter"; renderer: ChartRenderFunction; localization: { labelKey: "scatter"; descriptionKey: "scatter"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "bubble"; renderer: ChartRenderFunction; localization: { labelKey: "bubble"; descriptionKey: "bubble"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "columnLine"; renderer: ChartRenderFunction; localization: { labelKey: "columnLine"; descriptionKey: "columnLine"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "areaLine"; renderer: ChartRenderFunction; localization: { labelKey: "areaLine"; descriptionKey: "areaLine"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "rangeColumn"; renderer: ChartRenderFunction; localization: { labelKey: "rangeColumn"; descriptionKey: "rangeColumn"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "rangeBar"; renderer: ChartRenderFunction; localization: { labelKey: "rangeBar"; descriptionKey: "rangeBar"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "rangeArea"; renderer: ChartRenderFunction; localization: { labelKey: "rangeArea"; descriptionKey: "rangeArea"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "confidenceBand"; renderer: ChartRenderFunction; localization: { labelKey: "confidenceBand"; descriptionKey: "confidenceBand"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "errorInterval"; renderer: ChartRenderFunction; localization: { labelKey: "errorInterval"; descriptionKey: "errorInterval"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "waterfall"; renderer: ChartRenderFunction; localization: { labelKey: "waterfall"; descriptionKey: "waterfall"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "lollipop"; renderer: ChartRenderFunction; localization: { labelKey: "lollipop"; descriptionKey: "lollipop"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "bullet"; renderer: ChartRenderFunction; localization: { labelKey: "bullet"; descriptionKey: "bullet"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "semiDonut"; renderer: ChartRenderFunction; localization: { labelKey: "semiDonut"; descriptionKey: "semiDonut"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "rose"; renderer: ChartRenderFunction; localization: { labelKey: "rose"; descriptionKey: "rose"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "radarLine"; renderer: ChartRenderFunction; localization: { labelKey: "radarLine"; descriptionKey: "radarLine"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "radarArea"; renderer: ChartRenderFunction; localization: { labelKey: "radarArea"; descriptionKey: "radarArea"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "polarColumn"; renderer: ChartRenderFunction; localization: { labelKey: "polarColumn"; descriptionKey: "polarColumn"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "stackedPolarColumn"; renderer: ChartRenderFunction; localization: { labelKey: "stackedPolarColumn"; descriptionKey: "stackedPolarColumn"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "normalizedPolarColumn"; renderer: ChartRenderFunction; localization: { labelKey: "normalizedPolarColumn"; descriptionKey: "normalizedPolarColumn"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "radialBar"; renderer: ChartRenderFunction; localization: { labelKey: "radialBar"; descriptionKey: "radialBar"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "multiRingRadialBar"; renderer: ChartRenderFunction; localization: { labelKey: "multiRingRadialBar"; descriptionKey: "multiRingRadialBar"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "histogram"; renderer: ChartRenderFunction; localization: { labelKey: "histogram"; descriptionKey: "histogram"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "stripDot"; renderer: ChartRenderFunction; localization: { labelKey: "stripDot"; descriptionKey: "stripDot"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "heatmap"; renderer: ChartRenderFunction; localization: { labelKey: "heatmap"; descriptionKey: "heatmap"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "calendarHeatmap"; renderer: ChartRenderFunction; localization: { labelKey: "calendarHeatmap"; descriptionKey: "calendarHeatmap"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "densityScatter"; renderer: ChartRenderFunction; localization: { labelKey: "densityScatter"; descriptionKey: "densityScatter"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "icicle"; renderer: ChartRenderFunction; localization: { labelKey: "icicle"; descriptionKey: "icicle"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "circlePacking"; renderer: ChartRenderFunction; localization: { labelKey: "circlePacking"; descriptionKey: "circlePacking"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "funnel"; renderer: ChartRenderFunction; localization: { labelKey: "funnel"; descriptionKey: "funnel"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "pyramid"; renderer: ChartRenderFunction; localization: { labelKey: "pyramid"; descriptionKey: "pyramid"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "boxPlot"; renderer: ChartRenderFunction; localization: { labelKey: "boxPlot"; descriptionKey: "boxPlot"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "violin"; renderer: ChartRenderFunction; localization: { labelKey: "violin"; descriptionKey: "violin"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "rangeInterval"; renderer: ChartRenderFunction; localization: { labelKey: "rangeInterval"; descriptionKey: "rangeInterval"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "sankey"; renderer: ChartRenderFunction; localization: { labelKey: "sankey"; descriptionKey: "sankey"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "chord"; renderer: ChartRenderFunction; localization: { labelKey: "chord"; descriptionKey: "chord"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "candlestick"; renderer: ChartRenderFunction; localization: { labelKey: "candlestick"; descriptionKey: "candlestick"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "ohlc"; renderer: ChartRenderFunction; localization: { labelKey: "ohlc"; descriptionKey: "ohlc"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "volumePrice"; renderer: ChartRenderFunction; localization: { labelKey: "volumePrice"; descriptionKey: "volumePrice"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "gauge"; renderer: ChartRenderFunction; localization: { labelKey: "gauge"; descriptionKey: "gauge"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "kpi"; renderer: ChartRenderFunction; localization: { labelKey: "kpi"; descriptionKey: "kpi"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "progressGauge"; renderer: ChartRenderFunction; localization: { labelKey: "progressGauge"; descriptionKey: "progressGauge"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "connectedScatter"; renderer: ChartRenderFunction; localization: { labelKey: "connectedScatter"; descriptionKey: "connectedScatter"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "waffle"; renderer: ChartRenderFunction; localization: { labelKey: "waffle"; descriptionKey: "waffle"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "smallMultiples"; renderer: ChartRenderFunction; localization: { labelKey: "smallMultiples"; descriptionKey: "smallMultiples"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "annotatedTimeSeries"; renderer: ChartRenderFunction; localization: { labelKey: "annotatedTimeSeries"; descriptionKey: "annotatedTimeSeries"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "timelineRange"; renderer: ChartRenderFunction; localization: { labelKey: "timelineRange"; descriptionKey: "timelineRange"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "organization"; renderer: ChartRenderFunction; localization: { labelKey: "organization"; descriptionKey: "organization"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "quadrant"; renderer: ChartRenderFunction; localization: { labelKey: "quadrant"; descriptionKey: "quadrant"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "coneFunnel"; renderer: ChartRenderFunction; localization: { labelKey: "coneFunnel"; descriptionKey: "coneFunnel"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "linearGauge"; renderer: ChartRenderFunction; localization: { labelKey: "linearGauge"; descriptionKey: "linearGauge"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; } | { preview: { dataset: ChartDataset; bindings: Partial<Record<ChartBindingChannel, string[]>>; presentation: ChartPresentation; aspectRatio: number; }; type: "radialColumn"; renderer: ChartRenderFunction; localization: { labelKey: "radialColumn"; descriptionKey: "radialColumn"; }; family: ChartFamily; categoryAxisReverse?: boolean | undefined; categoryAxisGroups?: boolean | undefined; categoryAxisPlacement?: boolean | undefined; order: number; dataView: "range" | "hierarchy" | "statistical" | "kpi" | "distribution" | "matrix" | "flow" | "financial" | "xy" | "binned" | "calendar"; channels: readonly ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "category" | "series" | "none"; }; options: ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | ChartNumericScale)[] | undefined; navigation?: boolean | undefined; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; } | undefined; appearance?: { seriesColor?: boolean | undefined; seriesVisibility?: boolean | undefined; memberColor?: boolean | undefined; valueMap?: boolean | undefined; patterns?: boolean | undefined; lineDash?: boolean | undefined; markers?: boolean | undefined; } | undefined; interactionModes?: readonly ("filter" | "drill" | "select" | "event")[] | undefined; valueAxes?: readonly ("primary" | "secondary")[] | undefined; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[] | undefined; })[];PIVOT_CHART_TYPES
Section titled “PIVOT_CHART_TYPES”CHART_TYPES: readonly ["groupedColumn", "stackedColumn", "normalizedColumn", "groupedBar", "stackedBar", "normalizedBar", "line", "smoothLine", "steppedLine", "area", "steppedArea", "stackedArea", "normalizedArea", "pie", "donut", "treemap", "sunburst", "scatter", "bubble", "columnLine", "areaLine", "rangeColumn", "rangeBar", "rangeArea", "confidenceBand", "errorInterval", "waterfall", "lollipop", "bullet", "semiDonut", "rose", "radarLine", "radarArea", "polarColumn", "stackedPolarColumn", "normalizedPolarColumn", "radialBar", "multiRingRadialBar", "histogram", "stripDot", "heatmap", "calendarHeatmap", "densityScatter", "icicle", "circlePacking", "funnel", "pyramid", "boxPlot", "violin", "rangeInterval", "sankey", "chord", "candlestick", "ohlc", "volumePrice", "gauge", "kpi", "progressGauge", "connectedScatter", "waffle", "smallMultiples", "annotatedTimeSeries", "timelineRange", "organization", "quadrant", "coneFunnel", "linearGauge", "radialColumn"];getPivotChartDefinition
Section titled “getPivotChartDefinition”export declare function getChartDefinition(type: import('./metadata').ChartType): { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "groupedColumn"; renderer: ChartRenderFunction; localization: { labelKey: "groupedColumn"; descriptionKey: "groupedColumn"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "stackedColumn"; renderer: ChartRenderFunction; localization: { labelKey: "stackedColumn"; descriptionKey: "stackedColumn"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "normalizedColumn"; renderer: ChartRenderFunction; localization: { labelKey: "normalizedColumn"; descriptionKey: "normalizedColumn"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "groupedBar"; renderer: ChartRenderFunction; localization: { labelKey: "groupedBar"; descriptionKey: "groupedBar"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "stackedBar"; renderer: ChartRenderFunction; localization: { labelKey: "stackedBar"; descriptionKey: "stackedBar"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "normalizedBar"; renderer: ChartRenderFunction; localization: { labelKey: "normalizedBar"; descriptionKey: "normalizedBar"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "line"; renderer: ChartRenderFunction; localization: { labelKey: "line"; descriptionKey: "line"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "smoothLine"; renderer: ChartRenderFunction; localization: { labelKey: "smoothLine"; descriptionKey: "smoothLine"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "steppedLine"; renderer: ChartRenderFunction; localization: { labelKey: "steppedLine"; descriptionKey: "steppedLine"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "area"; renderer: ChartRenderFunction; localization: { labelKey: "area"; descriptionKey: "area"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "steppedArea"; renderer: ChartRenderFunction; localization: { labelKey: "steppedArea"; descriptionKey: "steppedArea"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "stackedArea"; renderer: ChartRenderFunction; localization: { labelKey: "stackedArea"; descriptionKey: "stackedArea"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "normalizedArea"; renderer: ChartRenderFunction; localization: { labelKey: "normalizedArea"; descriptionKey: "normalizedArea"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "pie"; renderer: ChartRenderFunction; localization: { labelKey: "pie"; descriptionKey: "pie"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "donut"; renderer: ChartRenderFunction; localization: { labelKey: "donut"; descriptionKey: "donut"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "treemap"; renderer: ChartRenderFunction; localization: { labelKey: "treemap"; descriptionKey: "treemap"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "sunburst"; renderer: ChartRenderFunction; localization: { labelKey: "sunburst"; descriptionKey: "sunburst"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "scatter"; renderer: ChartRenderFunction; localization: { labelKey: "scatter"; descriptionKey: "scatter"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "bubble"; renderer: ChartRenderFunction; localization: { labelKey: "bubble"; descriptionKey: "bubble"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "columnLine"; renderer: ChartRenderFunction; localization: { labelKey: "columnLine"; descriptionKey: "columnLine"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "areaLine"; renderer: ChartRenderFunction; localization: { labelKey: "areaLine"; descriptionKey: "areaLine"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "rangeColumn"; renderer: ChartRenderFunction; localization: { labelKey: "rangeColumn"; descriptionKey: "rangeColumn"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "rangeBar"; renderer: ChartRenderFunction; localization: { labelKey: "rangeBar"; descriptionKey: "rangeBar"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "rangeArea"; renderer: ChartRenderFunction; localization: { labelKey: "rangeArea"; descriptionKey: "rangeArea"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "confidenceBand"; renderer: ChartRenderFunction; localization: { labelKey: "confidenceBand"; descriptionKey: "confidenceBand"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "errorInterval"; renderer: ChartRenderFunction; localization: { labelKey: "errorInterval"; descriptionKey: "errorInterval"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "waterfall"; renderer: ChartRenderFunction; localization: { labelKey: "waterfall"; descriptionKey: "waterfall"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "lollipop"; renderer: ChartRenderFunction; localization: { labelKey: "lollipop"; descriptionKey: "lollipop"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "bullet"; renderer: ChartRenderFunction; localization: { labelKey: "bullet"; descriptionKey: "bullet"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "semiDonut"; renderer: ChartRenderFunction; localization: { labelKey: "semiDonut"; descriptionKey: "semiDonut"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "rose"; renderer: ChartRenderFunction; localization: { labelKey: "rose"; descriptionKey: "rose"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "radarLine"; renderer: ChartRenderFunction; localization: { labelKey: "radarLine"; descriptionKey: "radarLine"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "radarArea"; renderer: ChartRenderFunction; localization: { labelKey: "radarArea"; descriptionKey: "radarArea"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "polarColumn"; renderer: ChartRenderFunction; localization: { labelKey: "polarColumn"; descriptionKey: "polarColumn"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "stackedPolarColumn"; renderer: ChartRenderFunction; localization: { labelKey: "stackedPolarColumn"; descriptionKey: "stackedPolarColumn"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "normalizedPolarColumn"; renderer: ChartRenderFunction; localization: { labelKey: "normalizedPolarColumn"; descriptionKey: "normalizedPolarColumn"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "radialBar"; renderer: ChartRenderFunction; localization: { labelKey: "radialBar"; descriptionKey: "radialBar"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "multiRingRadialBar"; renderer: ChartRenderFunction; localization: { labelKey: "multiRingRadialBar"; descriptionKey: "multiRingRadialBar"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "histogram"; renderer: ChartRenderFunction; localization: { labelKey: "histogram"; descriptionKey: "histogram"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "stripDot"; renderer: ChartRenderFunction; localization: { labelKey: "stripDot"; descriptionKey: "stripDot"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "heatmap"; renderer: ChartRenderFunction; localization: { labelKey: "heatmap"; descriptionKey: "heatmap"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "calendarHeatmap"; renderer: ChartRenderFunction; localization: { labelKey: "calendarHeatmap"; descriptionKey: "calendarHeatmap"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "densityScatter"; renderer: ChartRenderFunction; localization: { labelKey: "densityScatter"; descriptionKey: "densityScatter"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "icicle"; renderer: ChartRenderFunction; localization: { labelKey: "icicle"; descriptionKey: "icicle"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "circlePacking"; renderer: ChartRenderFunction; localization: { labelKey: "circlePacking"; descriptionKey: "circlePacking"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "funnel"; renderer: ChartRenderFunction; localization: { labelKey: "funnel"; descriptionKey: "funnel"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "pyramid"; renderer: ChartRenderFunction; localization: { labelKey: "pyramid"; descriptionKey: "pyramid"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "boxPlot"; renderer: ChartRenderFunction; localization: { labelKey: "boxPlot"; descriptionKey: "boxPlot"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "violin"; renderer: ChartRenderFunction; localization: { labelKey: "violin"; descriptionKey: "violin"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "rangeInterval"; renderer: ChartRenderFunction; localization: { labelKey: "rangeInterval"; descriptionKey: "rangeInterval"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "sankey"; renderer: ChartRenderFunction; localization: { labelKey: "sankey"; descriptionKey: "sankey"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "chord"; renderer: ChartRenderFunction; localization: { labelKey: "chord"; descriptionKey: "chord"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "candlestick"; renderer: ChartRenderFunction; localization: { labelKey: "candlestick"; descriptionKey: "candlestick"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "ohlc"; renderer: ChartRenderFunction; localization: { labelKey: "ohlc"; descriptionKey: "ohlc"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "volumePrice"; renderer: ChartRenderFunction; localization: { labelKey: "volumePrice"; descriptionKey: "volumePrice"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "gauge"; renderer: ChartRenderFunction; localization: { labelKey: "gauge"; descriptionKey: "gauge"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "kpi"; renderer: ChartRenderFunction; localization: { labelKey: "kpi"; descriptionKey: "kpi"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "progressGauge"; renderer: ChartRenderFunction; localization: { labelKey: "progressGauge"; descriptionKey: "progressGauge"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "connectedScatter"; renderer: ChartRenderFunction; localization: { labelKey: "connectedScatter"; descriptionKey: "connectedScatter"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "waffle"; renderer: ChartRenderFunction; localization: { labelKey: "waffle"; descriptionKey: "waffle"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "smallMultiples"; renderer: ChartRenderFunction; localization: { labelKey: "smallMultiples"; descriptionKey: "smallMultiples"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "annotatedTimeSeries"; renderer: ChartRenderFunction; localization: { labelKey: "annotatedTimeSeries"; descriptionKey: "annotatedTimeSeries"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "timelineRange"; renderer: ChartRenderFunction; localization: { labelKey: "timelineRange"; descriptionKey: "timelineRange"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "organization"; renderer: ChartRenderFunction; localization: { labelKey: "organization"; descriptionKey: "organization"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "quadrant"; renderer: ChartRenderFunction; localization: { labelKey: "quadrant"; descriptionKey: "quadrant"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "coneFunnel"; renderer: ChartRenderFunction; localization: { labelKey: "coneFunnel"; descriptionKey: "coneFunnel"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "linearGauge"; renderer: ChartRenderFunction; localization: { labelKey: "linearGauge"; descriptionKey: "linearGauge"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];} | { preview: { dataset: import('..').ChartDataset; bindings: import('..').ChartBindings; presentation: import('..').ChartPresentation; aspectRatio: number; }; type: "radialColumn"; renderer: ChartRenderFunction; localization: { labelKey: "radialColumn"; descriptionKey: "radialColumn"; }; family: import('./metadata').ChartFamily; categoryAxisReverse?: boolean; categoryAxisGroups?: boolean; categoryAxisPlacement?: boolean; order: number; dataView: "matrix" | "xy" | "hierarchy" | "binned" | "distribution" | "statistical" | "range" | "flow" | "financial" | "kpi" | "calendar"; channels: readonly import('./metadata').ChartChannelRequirement[]; constraints: { nonNegative: boolean; rowHierarchy: boolean; seriesSelection: "all" | "firstAvailable"; }; interactions: { drill: boolean; selection: boolean; zoom: boolean; pan: boolean; labels: boolean; stacking: boolean; }; presentation: { axes: boolean; legend: "series" | "category" | "none"; }; options: import('..').ChartOptionsSchema; documentationSlug: string; xScales?: readonly ("category" | "time" | import('..').ChartNumericScale)[]; navigation?: boolean; annotations?: { axes: readonly ("category" | "primary" | "secondary")[]; notes: boolean; }; appearance?: { seriesColor?: boolean; seriesVisibility?: boolean; memberColor?: boolean; valueMap?: boolean; patterns?: boolean; lineDash?: boolean; markers?: boolean; }; interactionModes?: readonly ("drill" | "select" | "filter" | "event")[]; valueAxes?: readonly ("primary" | "secondary")[]; seriesTypes?: readonly ("column" | "line" | "area" | "scatter" | "rangeArea" | "bubble" | "histogram")[];};;PivotChartType
Section titled “PivotChartType”export type ChartType = (typeof CHART_TYPES)[number];PivotChartFamily
Section titled “PivotChartFamily”export type ChartFamily = 'column' | 'bar' | 'line' | 'area' | 'partToWhole' | 'relationship' | 'hierarchical' | 'combination' | 'statistical' | 'specialized' | 'kpi' | 'polar' | 'distribution' | 'matrix' | 'process' | 'flow' | 'financial';PivotChartDataChannel
Section titled “PivotChartDataChannel”export type ChartDataChannel = 'category' | 'series' | 'value' | 'x' | 'y' | 'size' | 'hierarchy' | 'weight' | 'source' | 'target' | 'start' | 'end' | 'low' | 'high' | 'open' | 'close' | 'volume' | 'actual' | 'target' | 'variance' | 'color' | 'shape' | 'angle' | 'radius' | 'parent' | 'child' | 'facetRow' | 'facetColumn' | 'label' | 'tooltip';PivotChartChannelRequirement
Section titled “PivotChartChannelRequirement”interface ChartChannelRequirement { channel: ChartDataChannel; min: number; max?: number}PivotChartDefinition (Extended from index.ts)
Section titled “PivotChartDefinition (Extended from index.ts)”export type CatalogChartDefinition<T extends string = string> = ChartDefinition<T> & { renderer: ChartRenderFunction;} & { preview: (typeof chartPreviews)[string];};PivotChartCatalogExtensionDefinition
Section titled “PivotChartCatalogExtensionDefinition”export type ChartCatalogExtensionDefinition = ChartGeographicDefinition;getPivotChartCatalogExtensionDefinitions
Section titled “getPivotChartCatalogExtensionDefinitions”Resolves definitions for a standalone geographic capability host.
Geographic types are intentionally not accepted by ChartModel or the
built-in Pivot Charts gallery/renderer. Applications render them explicitly
through pack.render(...), which keeps provider assets and asynchronous map
projection outside the core plugin lifecycle.
export declare function getChartCatalogExtensionDefinitions(pack?: ChartGeographicCapabilityPack): readonly ChartCatalogExtensionDefinition[];;PivotChartOptionKey
Section titled “PivotChartOptionKey”export type ChartOptionKey = 'rendererPolicy' | 'sparkline' | 'showGridLines' | 'markOpacity' | 'strokeWidth' | 'fillOpacity' | 'facetScaleMode' | 'orientation' | 'binCount' | 'histogramArea' | 'histogramAggregation' | 'histogramBinBoundaries' | 'innerRadius' | 'outerRadius' | 'paddingAngle' | 'arcLabelRadius' | 'arcLabelMinAngle' | 'polarReverse' | 'barPadding' | 'radarDomain' | 'radarDivisions' | 'radarGridShape' | 'radarReverse' | 'radarValues' | 'pieHighlight' | 'pieFade' | 'startAngle' | 'sweepAngle' | 'calloutLabels' | 'scaleMin' | 'scaleMax' | 'needle' | 'segments' | 'pivotX' | 'pivotY' | 'radialStacking' | 'cornerRadius' | 'groupPadding' | 'normalizedTo' | 'normalizeStacks' | 'disableLineItemHighlight' | 'sampling' | 'stackOrder' | 'stackOffset' | 'priceStyle' | 'candleFill' | 'volumePaneRatio' | 'nodeWidth' | 'nodePadding' | 'nodeAlignment' | 'layoutIterations' | 'linkCurvature' | 'nodeSort' | 'linkSort' | 'showNodeValues' | 'showNodeLabels' | 'showLinkValues' | 'linkColorMode' | 'linkOpacity' | 'nodeHighlight' | 'linkHighlight' | 'nodeFade' | 'linkFade';PivotChartBooleanOptionDefinition
Section titled “PivotChartBooleanOptionDefinition”interface ChartBooleanOptionDefinition { key: ChartOptionKey; control: 'boolean'; defaultValue: boolean}PivotChartRangeOptionDefinition
Section titled “PivotChartRangeOptionDefinition”interface ChartRangeOptionDefinition { key: ChartOptionKey; control: 'range'; defaultValue: number; min: number; max: number; step: number}PivotChartSelectOptionDefinition
Section titled “PivotChartSelectOptionDefinition”interface ChartSelectOptionDefinition { key: ChartOptionKey; control: 'select'; defaultValue: string; values: readonly string[]}PivotChartOptionDefinition
Section titled “PivotChartOptionDefinition”export type ChartOptionDefinition = ChartBooleanOptionDefinition | ChartRangeOptionDefinition | ChartSelectOptionDefinition | ChartNumberListOptionDefinition;PivotChartOptionsSchema
Section titled “PivotChartOptionsSchema”interface ChartOptionsSchema { fields: readonly ChartOptionDefinition[]; defaults: Readonly<ChartTypeOptions>; /** Typed configuration/state outside the generic appearance fields. */ stateFields?: readonly ('collapsedNodes' | 'highlightedFlowItem' | 'highlightedPieItem' | 'highlightedArc' | 'fadedArc')[]}createPivotChartOptionsSchema
Section titled “createPivotChartOptionsSchema”export declare function createChartOptionsSchema({ family, axes, chartType, }: ChartOptionSchemaContext): ChartOptionsSchema;;parsePivotChartOptions
Section titled “parsePivotChartOptions”export declare function parseChartOptions(value: unknown, schema: ChartOptionsSchema): ChartTypeOptions;;resolvePivotChartOption
Section titled “resolvePivotChartOption”export declare function resolveChartOption(options: ChartTypeOptions | undefined, schema: ChartOptionsSchema, key: ChartOptionKey): ChartJsonValue | undefined;;PivotChartGeographicDataError
Section titled “PivotChartGeographicDataError”class ChartGeographicDataError {}createPivotChartGeographicCapabilityPack
Section titled “createPivotChartGeographicCapabilityPack”Creates an opt-in geographic capability. Merely importing Pivot Charts does not install geographic types or load projection/map data.
export declare function createChartGeographicCapabilityPack(provider: ChartGeographicProvider): ChartGeographicCapabilityPack;;getAvailablePivotChartGeographicTypes
Section titled “getAvailablePivotChartGeographicTypes”export declare function getAvailableChartGeographicTypes(pack?: ChartGeographicCapabilityPack): readonly ChartGeographicType[];;getPivotChartGeographicDefinitions
Section titled “getPivotChartGeographicDefinitions”Catalog-extension hook used by gallery hosts. The base catalog remains unchanged; a host receives no geographic entries until a pack is installed.
export declare function getChartGeographicDefinitions(pack?: ChartGeographicCapabilityPack): readonly ChartGeographicDefinition[];;isPivotChartGeographicType
Section titled “isPivotChartGeographicType”export declare function isChartGeographicType(value: unknown): value is ChartGeographicType;;assertGeographicRequest
Section titled “assertGeographicRequest”export declare function assertGeographicRequest(request: ChartGeographicRequest): void;;assertGeographicData
Section titled “assertGeographicData”export declare function assertGeographicData(data: ChartGeographicData, request: Pick<ChartGeographicRequest, 'chartType' | 'dataset'>): void;;PivotChartGeographicType
Section titled “PivotChartGeographicType”Geographic charts are intentionally not part of the base chart catalog. Import and install a geographic capability pack to make these types available.
/** * Geographic charts are intentionally not part of the base chart catalog. * Import and install a geographic capability pack to make these types * available. */export type ChartGeographicType = 'choropleth' | 'proportionalSymbolMap' | 'geographicHeatmap';PivotChartGeographicPosition
Section titled “PivotChartGeographicPosition”export type ChartGeographicPosition = readonly [ longitude: number, latitude: number];PivotChartGeographicViewport
Section titled “PivotChartGeographicViewport”interface ChartGeographicViewport { width: number; height: number; pixelRatio?: number}PivotChartGeographicRequest
Section titled “PivotChartGeographicRequest”interface ChartGeographicRequest { chartId: string; chartType: ChartGeographicType; dataset: ChartDataset; bindings: ChartBindings; theme: ChartThemeName; viewport: ChartGeographicViewport}PivotChartGeographicRegion
Section titled “PivotChartGeographicRegion”interface ChartGeographicRegion { id: string; label: string; /** * Provider-projected SVG path. Projection and map assets remain owned by the * provider, keeping them out of the Enterprise bundle. */ path: string; categoryId: string; seriesId: string; value: number | null; properties?: Record<string, ChartJsonValue>}PivotChartGeographicSymbol
Section titled “PivotChartGeographicSymbol”interface ChartGeographicSymbol { id: string; label: string; position: ChartGeographicPosition; /** Provider-projected viewport coordinate used by the optional renderer. */ projectedPosition: readonly [x: number, y: number]; categoryId: string; seriesId: string; value: number | null; size: number | null; properties?: Record<string, ChartJsonValue>}PivotChartGeographicHeatPoint
Section titled “PivotChartGeographicHeatPoint”interface ChartGeographicHeatPoint { id: string; position: ChartGeographicPosition; /** Provider-projected viewport coordinate used by the optional renderer. */ projectedPosition: readonly [x: number, y: number]; categoryId?: string; seriesId?: string; value: number; radius?: number; properties?: Record<string, ChartJsonValue>}PivotChartGeographicHeatmapData (Extended from index.ts)
Section titled “PivotChartGeographicHeatmapData (Extended from index.ts)”interface ChartGeographicHeatmapData { chartType: 'geographicHeatmap'; points: ChartGeographicHeatPoint[]; /** Backgrounds are drawn first, other overlays follow the base series in this order. */ layers?: ChartGeographicLayer[]; revision: number; projectionId: string; attribution?: string}PivotChartGeographicData
Section titled “PivotChartGeographicData”export type ChartGeographicData = ChartChoroplethData | ChartProportionalSymbolData | ChartGeographicHeatmapData;PivotChartGeographicProvider
Section titled “PivotChartGeographicProvider”interface ChartGeographicProvider { readonly id: string; readonly supportedTypes: readonly ChartGeographicType[]; /** * Loads map data and applies the provider-owned projection. The operation * must observe the supplied signal and avoid mutating the request. */ load(request: Readonly<ChartGeographicRequest>, context: { signal: AbortSignal; }): Promise<ChartGeographicData>}PivotChartGeographicDefinition
Section titled “PivotChartGeographicDefinition”interface ChartGeographicDefinition { type: ChartGeographicType; family: 'geographic'; localization: { labelKey: ChartGeographicType; descriptionKey: ChartGeographicType; }; channels: readonly { channel: 'geographic' | 'value' | 'size'; min: number; max?: number; }[]; documentationSlug: string}PivotChartGeographicCapabilityPack
Section titled “PivotChartGeographicCapabilityPack”interface ChartGeographicCapabilityPack { readonly id: string; readonly provider: ChartGeographicProvider; readonly definitions: readonly ChartGeographicDefinition[]; readonly supportedTypes: readonly ChartGeographicType[]; load(request: ChartGeographicRequest, context: { signal: AbortSignal; }): Promise<ChartGeographicData>; /** * Starts an asset-free SVG render lifecycle backed by this pack's provider. * Provider loads are cancelled when superseded or destroyed. */ render(input: ChartGeographicRenderInput): ChartGeographicRendererInstance}PivotChartGeographicLocaleText
Section titled “PivotChartGeographicLocaleText”interface ChartGeographicLocaleText { chartAriaLabel(type: ChartGeographicType): string; loading: string; loadError(error: Error): string; regionAriaLabel(label: string, value: string): string; symbolAriaLabel(label: string, value: string, size: string): string; heatPointAriaLabel(value: string): string; lineAriaLabel?(label: string, value: string): string; formatValue(value: number | null): string}PivotChartGeographicDatum
Section titled “PivotChartGeographicDatum”export type ChartGeographicDatum = ChartGeographicRegion | ChartGeographicSymbol | ChartGeographicHeatPoint | ChartGeographicLine;PivotChartGeographicRenderInput
Section titled “PivotChartGeographicRenderInput”interface ChartGeographicRenderInput { container: HTMLElement; request: ChartGeographicRequest; localeText: ChartGeographicLocaleText; /** Runtime appearance configuration, separate from provider/projection data. */ rendererOptions?: ChartGeographicRendererOptions; onNodeClick?: (detail: { chartType: ChartGeographicType; datum: ChartGeographicDatum; originalEvent: Event; }) => void; onError?: (error: Error) => void}PivotChartGeographicRendererOptions
Section titled “PivotChartGeographicRendererOptions”interface ChartGeographicRendererOptions { /** Same bounded customization diagnostics as native charts. */ onDiagnostic?: ChartsRendererOptions['onDiagnostic']; theme?: Partial<ChartTheme>; fontFamily?: string; className?: string; /** Same visual style pipeline as native charts, including per-datum colors. */ elements?: ChartElementsOptions; /** Customize labels, geometry or layers after a successful provider-backed paint. */ onRender?: (context: { svg: SVGSVGElement; input: ChartGeographicRenderInput; data: ChartGeographicData; theme: Readonly<ChartTheme>; }) => void}PivotChartGeographicRendererInstance
Section titled “PivotChartGeographicRendererInstance”interface ChartGeographicRendererInstance { readonly ready: Promise<void>; update(input: ChartGeographicRenderInput): Promise<void>; focus(): void; destroy(): void}PivotChartsLocaleText (Extended from index.ts)
Section titled “PivotChartsLocaleText (Extended from index.ts)”interface ChartsLocaleText { inspector: { source: string; fields: string; sort: string; filters: string; connection: string; presentation: string; axes: string; appearance: string; colors: string; navigation: string; interaction: string; annotations: string; }; query: { formatMeasureLabel: (prop: string, aggregator: string) => string; formatMemberValue: (value: unknown) => string; measureRequired: string; pendingChanges: string; immediateChanges: string; independentLayoutSync: string; memberLoading: string; memberEmpty: string; retryMembers: string; filterSummary: (field: string, excluded: boolean, values: string[], omitted: number) => string; heading: string; description: string; unlinked: string; savedQuery: string; unavailableReason: (reason: string) => string; searchFields: string; rows: string; columns: string; measures: string; sort: string; sourceOrder: string; member: string; measure: string; sortDirection: string; ascending: string; descending: string; sortMeasure: string; ranking: string; allMembers: string; top: string; bottom: string; rankMeasure: string; count: string; other: string; invalidCount: string; apply: string; reset: string; moveUp: (axis: string, position: number) => string; removeField: (axis: string, position: number) => string; addField: (axis: string) => string; up: string; remove: string; filters: string; filterField: string; chooseField: string; memberLookupUnavailable: string; filterMode: string; include: string; exclude: string; searchMembers: string; blank: string; memberError: (error: Error) => string; memberPage: (offset: number, count: number, total: number) => string; previous: string; next: string; clearField: string; activeFilters: (count: number) => string; }; totals: Record<ChartTotalsMode, string>; drillSyncModes: Record<ChartDrillSyncMode, string>; data: { total: string; hierarchySeparator: string; }; histogramData: { viewLabel: string; sampleSeries: string; samples: string; bins: string; bin: string; start: string; end: string; count: string; loadedCount: string; sampleMean: string; valueCount: string; metric: string; density: string; interval: string; summary: (loadedRows: number, loadedSamples: number, sourceSamples: number) => string; }; dataTable: { regionAriaLabel: string; tableCaption: string; categoryHeader: string; emptyValue: string; sortAscending: (columnLabel: string) => string; sortDescending: (columnLabel: string) => string; sortedAscending: (columnLabel: string) => string; sortedDescending: (columnLabel: string) => string; rowsPageLabel: string; columnsPageLabel: string; previousPage: string; nextPage: string; pageRange: (start: number, end: number, total: number) => string; }; context: { heading: string; close: string; closeButtonText: string; linked: string; snapshot: string; rows: string; columns: string; filters: string; localFilters: string; unknownFilters: string; none: string; include: string; exclude: string; blank: string; more: (count: number) => string; frame: (categories: number, series: number) => string; formatFilterValue: (value: unknown) => string; /** Receives the configured dimension label when available, otherwise its field name. */ formatFieldLabel: (field: string) => string; }; dialog: { kicker: string; untitledChart: string; chartAriaLabel: (title: string | undefined) => string; settingsAriaLabel: string; }; actions: { exportChart: string; downloadPng: string; downloadPdf: string; downloadPdfEncoding: (encoding: 'raster' | 'vector' | 'custom', label: string) => string; downloadSvg: string; downloadCsv: string; preparingDownload: string; close: string; closeButtonText: string; retry: string; /** Short view-switch captions, independent of inspector tab labels. */ chartLabel: string; dataLabel: string; viewData: string; viewChart: string; }; status: { loading: string; updated: string; empty: string; retainedData: string; formatError: (error: Error) => string; }; drill: { toolbarAriaLabel: string; breadcrumbAriaLabel: string; root: string; currentLevel: (label: string) => string; loading: (label: string) => string; loaded: (label: string) => string; retry: string; formatError: (error: Error) => string; drillableDatum: (context: ChartDatumLocaleContext) => string; relationshipDrillableDatum: (context: ChartRelationshipDatumLocaleContext) => string; }; gallery: { tabs: { chart: string; data: string; customize: string; }; allTypes: string; familyAriaLabel: string; searchPlaceholder: string; searchAriaLabel: string; recommended: string; configureData: string; sourceRequirements: string; measureAdvisory: string; useSmallMultiples: string; useCombination: string; families: Record<ChartFamily, string>; noResults: string; compatibilityReason: (reason: ChartCompatibilityReason) => string; }; chartTypes: Record<ChartType, string>; chartDescriptions: Record<ChartType, string>; contextMenu: { createChart: string; pluginRequired: string; rendererRequired: string; serverProviderRequired: string; }; uiErrors: { destroyed: string; containerMissing: string; mountContainerRequired: string; creationClosed: string; pluginRequired: string; uiPluginRequired: string; }; renderer: { selectMeasure: string; histogramDensity: string; negativeValuesOmitted: string; noPositiveValues: string; allSeriesHidden: string; showAllSeries: string; /** Explain derived analytical overlays without inventing source-datum identities. */ analysisSummary: (overlay: import('../contracts/analysis').ChartResolvedAnalysis) => string; otherCategoryLabel: string; groupedCategoryLabel: (label: string, collisionIndex: number) => string; /** Customize numeric ticks, including authored notation and precision. Unit is appended separately. */ formatAxisTick: (value: number, format: ChartValueAxis['tickFormat'], defaultText: string) => string; /** Customize generated time-axis ticks without changing their canonical epoch values. */ formatTimeAxisTick: (epochMilliseconds: number, dateOnly: boolean, defaultText: string) => string; topCategorySummary: (context: { top: number; total: number; measure: string; otherLabel: string; }) => string; samplingSummary: (context: ChartObservationSummaryContext) => string; facetScaleLabel: (mode: 'shared' | 'independent') => string; inspectionInstructions: (mode: 'tab' | 'roving', activatable: boolean) => string; chartSummary: (context: { chartType: string; title?: string; description?: string; categories: number; series: number; finiteCells: number; datumTargets: number; aggregateTargets: number; }) => string; aggregateSummary: (context: { kind: 'histogram' | 'density' | 'strip' | 'heatmap' | 'interval'; count: number; min?: number; max?: number; mean?: number; xMin?: number; xMax?: number; yMin?: number; yMax?: number; rowStart?: number; rowEnd?: number; columnStart?: number; columnEnd?: number; }) => string; distributionSummary: (context: { count: number; min: number; mean?: number; q1: number; median: number; q3: number; max: number; lowerWhisker: number; upperWhisker: number; }) => string; outlierSummary: (context: { value: number; }) => string; observationSummary: (context: ChartObservationSummaryContext) => string; rovingObservationInstructions: string; tabObservationInstructions: string; chartAriaLabel: (title: string | undefined) => string; legendAriaLabel: string; legendItemAriaLabel: (series: ChartSeries) => string; legendCategoryItemAriaLabel: (category: ChartCategory) => string; legendOverflow: (hiddenCount: number) => string; datumAriaLabel: (context: ChartDatumLocaleContext) => string; datumTitle: (context: ChartDatumLocaleContext) => string; relationshipDatumAriaLabel: (context: ChartRelationshipDatumLocaleContext) => string; relationshipDatumTitle: (context: ChartRelationshipDatumLocaleContext) => string; tooltipDrillHint: string; missingValue: string; formatNumber: (value: number) => string; formatScaledNumber: (value: number, multiplier: number) => string; dataLabelsUnsupported: (chartType: string) => string; invalidDataLabels: () => string; invalidNavigation: () => string; navigationUnsupported: (chartType: string) => string; categoryViewportRequiresCategoryAxis: () => string; timeViewportRequiresTimeAxis: () => string; formatPercent: (value: number) => string; downloadFileName: string; pngUnavailable: string; pdfUnavailable: string; pdfEncodeError: string; rasterizeError: string; canvasRequired: string; destroyedRenderer: string; unsupportedChartType: (chartType: string) => string; valueSeriesRequired: (chartType: string) => string; singleSeriesRequired: (chartType: string) => string; rowHierarchyRequired: string; dateCategoriesRequired: string; distributionViewRequired: string; nonNegativeValuesRequired: string; relationshipBindingsRequired: (chartType: string) => string; relationshipDataRequired: (chartType: string) => string; nonNegativeSizeRequired: string; minimumCategoriesRequired: (chartType: string, minimum: number) => string; minimumSeriesRequired: (chartType: string, minimum: number) => string; maximumSeriesRequired: (chartType: string, maximum: number) => string; }; controls: { chartType: string; valueSeries: string; xMeasure: string; yMeasure: string; sizeMeasure: string; title: string; subtitle: string; description: string; legend: string; dataLabels: string; xAxisTitle: string; yAxisTitle: string; totals: string; drillSyncMode: string; theme: string; keepLinked: string; }; chartOptions: { /** Captions for canonical chart option values, including extension-provided values. */ selectValues: Record<string, string>; facetScaleShared: string; facetScaleIndependent: string; polarPosition: string; polarAngle: string; polarTickSize: string; polarTickPosition: string; polarTickLabelPosition: string; polarDisableLine: string; polarDisableTicks: string; polarDisableTickLabel: string; polarAxes: string; namedPolarAxes: string; polarAxisId: string; addPolarAxis: string; removePolarAxis: string; polarEnable: string; polarValue: string; polarReset: string; polarShowValues: string; polarShowCategories: string; polarShowGrid: string; radarAxes: string; radarEnable: string; radarCommon: string; radarMetric: string; radarReset: string; matrixColumnsAxis: string; matrixRowsAxis: string; matrixColumnsReverse: string; matrixRowsReverse: string; xAxisScale: string; primaryXAxis: string; namedXAxes: string; xAxisId: string; addXAxis: string; removeXAxis: string; invalidXAxisId: string; invalidAxisConfiguration: string; xAxisLevel: string; xAxisMappedData: string; xAxisUsePath: string; navigationXAxis: string; brushXAxis: string; brushEnabled: string; seriesXAxis: (series: string) => string; categoryScale: string; categoryPlacement: string; categoryPoint: string; categoryBand: string; categoryGroups: string; categoryGroupLevel: string; categoryGroupAdd: string; categoryGroupRemove: string; timeScale: string; numericXAxis: string; primaryValueAxis: string; categoryAxis: string; primaryAxis: string; secondaryAxis: string; axisField: (axis: string, field: string) => string; scale: string; linearScale: string; logScale: string; symlogScale: string; sqrtScale: string; symlogConstant: string; minimum: string; maximum: string; automatic: string; interpolation: string; disableHighlight: string; highlightEnabled: string; highlightDisabled: string; strictStepCurve: string; expandedSteps: string; strictSteps: string; connectNulls: string; markersMode: string; baseline: string; baselineValue: string; axisTitle: string; unit: string; precision: string; axisPosition: string; axisTop: string; axisBottom: string; axisLeft: string; axisRight: string; axisHidden: string; axisReverse: string; axisTicks: string; tickCount: string; tickValues: string; tickMinStep: string; tickMaxStep: string; tickSpacing: string; notation: string; standardNotation: string; compactNotation: string; scientificNotation: string; seriesLayer: (series: string) => string; seriesAxis: (series: string) => string; layerColumn: string; layerLine: string; layerArea: string; layerScatter: string; layerBubble?: string; layerHistogram?: string; layerSource?: string; bubbleX?: (series: string) => string; bubbleSize?: (series: string) => string; histogramValue?: (series: string) => string; layerRangeArea: string; layerBoundSource: string; stackGroup: (series: string) => string; rangeLower: (series: string) => string; heading: string; description: string; resetAll: string; resetOption: (label: string) => string; valueLabel: (label: string, value: number) => string; /** Formats the visible range value; updates retain the original numeric value. */ formatValue?: (value: number, key: ChartOptionKey, step: number) => string; labels: Record<Exclude<ChartOptionKey, 'rendererPolicy'>, string> & { rendererPolicy?: string; }; descriptions: Record<Exclude<ChartOptionKey, 'rendererPolicy'>, string> & { rendererPolicy?: string; }; }; navigation: { tradingToolbar?: string; axisSelection: string; axisSelectionMove: string; axisSelectionStart: string; axisSelectionEnd: string; axisSelectionInstructions: string; rangeSelectorHeading: string; rangePreset: string; rangePresetDescription?: string; customRangeDescription?: string; rangePresets: Record<'1M' | '3M' | 'YTD' | '1Y' | 'all', string>; customRange: string; rangeFrom: string; rangeTo: string; applyRange: string; cancelRange: string; invalidRange: string; rangeError: string; rangeUnavailable: string; heading: string; enabled: string; navigator: string; crosshair: string; tooltipMode: string; datum: string; shared: string; resetViewport: string; resetNavigation: string; zoomIn: string; zoomOut: string; panLeft: string; panRight: string; panUp: string; panDown: string; /** Visible compact button text; accessible action labels remain independent. */ zoomInButtonText: string; zoomOutButtonText: string; panLeftButtonText: string; panRightButtonText: string; panUpButtonText: string; panDownButtonText: string; resetViewportButtonText: string; /** Value matches aria-valuenow: category boundary ordinal or epoch milliseconds. Category end is exclusive; defaultText names its last included category. */ formatNavigatorValue?: (value: number, scale: 'category' | 'time', handle: 'start' | 'end', defaultText: string) => string; navigatorStart: string; navigatorEnd: string; instructions: string; numericInstructions: string; xyBrushInstructions?: string; navigationAxes?: string; navigationDefault?: string; navigationYAxis?: string; xyBrush?: string; navigationYMin?: string; navigationYMax?: string; navigationYMinSpan?: string; navigationYMaxSpan?: string; matrixRows: string; matrixColumns: string; matrixWindowSummary: (rows: number, totalRows: number, columns: number, totalColumns: number) => string; omittedSharedItems: (count: number) => string; histogramWindowSummary: (visibleBins: number, totalBins: number, loadedSamples: number, totalSamples: number) => string; windowSummary: (visible: number, total: number) => string; dormantWindow: string; emptyWindow: string; }; interaction: { heading: string; mode: string; drill: string; select: string; filter: string; event: string; selectionMode: string; single: string; multiple: string; crossHighlight: string; crossHighlightHint: string; clear: string; reset: string; apply: string; edit: string; hint: string; count: (count: number) => string; }; legendPositions: { automatic: string; interpolation: string; connectNulls: string; markersMode: string; baseline: string; baselineValue: string; top: string; right: string; bottom: string; left: string; none: string; }; themes: { auto: string; default: string; material: string; compact: string; darkMaterial: string; darkCompact: string; highContrast: string; highContrastDark: string; custom: (theme: string) => string; }; annotations: { drawingTools: string; editor: AnnotationEditorLocale; coordinateLabel: (label: string, path: string) => string; targetLabel: (target: ChartSelectionTarget) => string; pathLabel: (path: ChartSelectionTarget['row']) => string; utcPlaceholder: string; statusLabels: Record<'resolved' | 'missing' | 'ambiguous' | 'hidden' | 'outsideViewport' | 'noValue' | 'unsupportedMember', string>; heading: string; description: string; point: string; category: string; series: string; unavailablePoint: string; addReference: string; addNote: string; newNote: string; noteText: string; placement: string; above: string; below: string; color: string; remove: string; previous: string; next: string; apply: string; cancel: string; clear: string; invalid: string; statusPending: string; kind: string; line: string; band: string; axis: string; categoryAxis: string; primaryAxis: string; secondaryAxis: string; noDimensions: string; at: string; from: string; to: string; value: string; min: string; max: string; label: string; lineStyle: string; solid: string; dash: string; dot: string; opacity: string; automatic: string; usePoint: string; reference: (id: string) => string; note: (id: string) => string; page: (offset: number, count: number, total: number) => string; previousChoice: (label: string) => string; nextChoice: (label: string) => string; useCategory: (label: string) => string; utc: (label: string) => string; status: (status: string) => string; }; colors: { /** Palette button names are keyed by their hexadecimal color values. */ picker: { customColor: string; colorLabels: Readonly<Record<string, string>>; }; measureLabel: (prop: string, aggregator: string) => string; memberPathLabel: (path: ChartSelectionTarget['row']) => string; /** Replaces the complete numeric key value without automatic compact formatting. */ formatValueMapValue?: (value: number, role: 'minimum' | 'midpoint' | 'maximum') => string; valueMapMinimum: string; valueMapMaximum: string; valueMapMidpoint: string; valueMapFallback: string; valueMapRuleLabel: (operator: 'gt' | 'lt' | 'equal' | 'between', value: number, max?: number) => string; omittedRules: (count: number) => string; heading: string; description: string; palette: string; index: string; semantic: string; legendAction: string; focus: string; toggleVisibility: string; series: string; solid: string; dash: string; dot: string; circle: string; square: string; diamond: string; triangle: string; cross: string; star: string; wye: string; previous: string; next: string; automatic: string; invalidColor: string; invalidDomain: string; invalidRule: string; measureColors: string; chooseMeasure: string; addMeasure: string; memberColors: string; memberAxis: string; row: string; column: string; chooseMember: string; addMember: string; previousMembers: string; nextMembers: string; pattern: string; diagonal: string; dots: string; remove: string; valueMap: string; mapping: string; identity: string; continuous: string; diverging: string; conditional: string; min: string; max: string; midpoint: string; value: string; operator: string; gt: string; lt: string; equal: string; between: string; removeRule: string; addRule: string; fallback: string; apply: string; reset: string; visible: (label: string) => string; seriesColor: (label: string) => string; seriesDash: (label: string) => string; marker: (label: string) => string; page: (offset: number, count: number, total: number) => string; measureColor: (index: number) => string; memberColor: (index: number) => string; memberPattern: (index: number) => string; stop: (index: number) => string; rule: (index: number) => string; ruleOperator: (index: number) => string; ruleValue: (index: number, field: string) => string; ruleColor: (index: number) => string; }}PivotChartsLocaleTextOptions
Section titled “PivotChartsLocaleTextOptions”interface ChartsLocaleTextOptions { underlyingRecords?: Partial<ChartUnderlyingRecordsLocale['underlyingRecords']>; links?: Partial<ChartRuntimeFeaturesLocale['links']>; dataSource?: Partial<ChartRuntimeFeaturesLocale['dataSource']>; inspector?: Partial<ChartsLocaleText['inspector']>; context?: Partial<ChartsLocaleText['context']>; dialog?: Partial<ChartsLocaleText['dialog']>; actions?: Partial<ChartsLocaleText['actions']>; status?: Partial<ChartsLocaleText['status']>; drill?: Partial<ChartsLocaleText['drill']>; controls?: Partial<ChartsLocaleText['controls']>; chartOptions?: Omit<Partial<ChartsLocaleText['chartOptions']>, 'labels' | 'descriptions' | 'selectValues'> & { selectValues?: Partial<ChartsLocaleText['chartOptions']['selectValues']>; labels?: Partial<ChartsLocaleText['chartOptions']['labels']>; descriptions?: Partial<ChartsLocaleText['chartOptions']['descriptions']>; }; annotations?: Omit<Partial<ChartsLocaleText['annotations']>, 'statusLabels' | 'editor'> & { statusLabels?: Partial<ChartsLocaleText['annotations']['statusLabels']>; editor?: Partial<ChartsLocaleText['annotations']['editor']>; }; colors?: Omit<Partial<ChartsLocaleText['colors']>, 'picker'> & { picker?: Partial<ChartsLocaleText['colors']['picker']>; }; query?: Partial<ChartsLocaleText['query']>; navigation?: Omit<Partial<ChartsLocaleText['navigation']>, 'rangePresets'> & { rangePresets?: Partial<ChartsLocaleText['navigation']['rangePresets']>; }; interaction?: Partial<ChartsLocaleText['interaction']>; gallery?: Omit<Partial<ChartsLocaleText['gallery']>, 'tabs' | 'families'> & { tabs?: Partial<ChartsLocaleText['gallery']['tabs']>; families?: Partial<ChartsLocaleText['gallery']['families']>; }; chartTypes?: Partial<ChartsLocaleText['chartTypes']>; chartDescriptions?: Partial<ChartsLocaleText['chartDescriptions']>; legendPositions?: Partial<ChartsLocaleText['legendPositions']>; totals?: Partial<ChartsLocaleText['totals']>; drillSyncModes?: Partial<ChartsLocaleText['drillSyncModes']>; themes?: Partial<ChartsLocaleText['themes']>; contextMenu?: Partial<ChartsLocaleText['contextMenu']>; uiErrors?: Partial<ChartsLocaleText['uiErrors']>; data?: Partial<ChartsLocaleText['data']>; dataTable?: Partial<ChartsLocaleText['dataTable']>; histogramData?: Partial<ChartsLocaleText['histogramData']>; renderer?: Partial<ChartsLocaleText['renderer']>}PivotChartDatumLocaleContext
Section titled “PivotChartDatumLocaleContext”interface ChartDatumLocaleContext { category: ChartCategory; series: ChartSeries; value: number | null; displayValue: string}PivotChartRelationshipDatumLocaleContext
Section titled “PivotChartRelationshipDatumLocaleContext”interface ChartRelationshipDatumLocaleContext { category: ChartCategory; x: { series: ChartSeries; value: number; displayValue: string; }; y: { series: ChartSeries; value: number; displayValue: string; }; size?: { series: ChartSeries; value: number; displayValue: string; }}PivotChartObservationSummaryContext
Section titled “PivotChartObservationSummaryContext”interface ChartObservationSummaryContext { sourceObservations: number; renderedObservations: number; sourceSeries: number; renderedSeries: number; sampledObservations: number; omittedSeries: number; omittedSeriesObservations: number}DEFAULT_PIVOT_CHARTS_LOCALE_TEXT
Section titled “DEFAULT_PIVOT_CHARTS_LOCALE_TEXT”Complete built-in locale. Public overrides are resolved below without mutating defaults.
DEFAULT_CHARTS_LOCALE_TEXT: ChartsLocaleText;createPivotChartsLocaleText
Section titled “createPivotChartsLocaleText”export declare function createChartsLocaleText(localeText?: ChartsLocaleTextOptions, overrides?: ChartsLocaleTextOptions): ChartsLocaleText;;PivotChartPdfEncoder (Extended from index.ts)
Section titled “PivotChartPdfEncoder (Extended from index.ts)”export type ChartPdfEncoder = ((svg: SVGSVGElement, options: Required<Pick<ChartImageOptions, 'width' | 'height'>>) => Promise<string>) & { readonly encoding?: 'raster' | 'vector' | 'custom';};PivotChartTooltipOptions
Section titled “PivotChartTooltipOptions”interface ChartTooltipOptions { /** Delay before a pointer tooltip opens. Keyboard tooltips open immediately. */ showDelayMs?: number; /** Delay before a pointer tooltip closes. */ hideDelayMs?: number; /** Keep an open pointer tooltip near the cursor. */ followPointer?: boolean; /** Additional application class names applied to the tooltip root. */ className?: string; /** Replaces or refines the default semantic tooltip content. */ formatter?: ChartTooltipFormatter}parsePivotChartAxes
Section titled “parsePivotChartAxes”export declare function parseChartAxes(inputValue: unknown, chartType: ChartType): ChartAxes | undefined;;parsePivotChartSeriesOverrides
Section titled “parsePivotChartSeriesOverrides”export declare function parseChartSeriesOverrides(value: unknown, chartType: ChartType): ChartSeriesOverrides | undefined;;resolvePivotChartSeriesPresentation
Section titled “resolvePivotChartSeriesPresentation”export declare function resolveChartSeriesPresentation(chartType: ChartType, dataset: ChartDataset, value?: ChartSeriesOverrides, bindings?: import('../contracts/types').ChartBindings): CombinationAssignment[];;assertPivotChartAxisData
Section titled “assertPivotChartAxisData”export declare function assertChartAxisData(chartType: ChartType, dataset: ChartDataset, value?: ChartAxes, overrides?: ChartSeriesOverrides, bindings?: import('../contracts/types').ChartBindings, chartOptions?: import('../contracts/types').ChartTypeOptions): void;;createPivotChartXCoordinates
Section titled “createPivotChartXCoordinates”Original category indexes in stable drawing order, sharing one domain across facets.
export declare function createChartXCoordinates(dataset: ChartDataset, axes?: ChartAxes): { entries: { category: import('..').ChartCategory; categoryIndex: number; value: number; }[]; time: boolean; numeric: boolean; continuous: boolean; scale: import('..').ChartXScale; valueAt: (position: number) => number; minimum: number; maximum: number; ratio: (categoryIndex: number) => number;};;hasPivotChartSecondaryAxisData
Section titled “hasPivotChartSecondaryAxisData”export declare function hasChartSecondaryAxisData(chartType: ChartType, dataset: ChartDataset, overrides?: ChartSeriesOverrides, bindings?: import('../contracts/types').ChartBindings): boolean;;normalizePivotChartSelectionValue
Section titled “normalizePivotChartSelectionValue”export declare function normalizeChartSelectionValue(value: unknown): ChartSelectionMember['value'];;parsePivotChartInteraction
Section titled “parsePivotChartInteraction”export declare function parseChartInteraction(value: unknown, chartType: ChartType): ChartInteraction | undefined;;parsePivotChartSelection
Section titled “parsePivotChartSelection”export declare function parseChartSelection(value: unknown): ChartSelection | undefined;;pivotChartSelectionKey
Section titled “pivotChartSelectionKey”export declare function chartSelectionKey(target: ChartSelectionTarget): string;;togglePivotChartSelection
Section titled “togglePivotChartSelection”export declare function toggleChartSelection(current: ChartSelection, target: ChartSelectionTarget, multiple: boolean): ChartSelection;;parsePivotChartSelectionFields
Section titled “parsePivotChartSelectionFields”export declare function parseChartSelectionFields(value: unknown): NonNullable<ChartDataset['selectionFields']> | undefined;;pivotChartSelectionTargetForDatum
Section titled “pivotChartSelectionTargetForDatum”Build an observation identity from semantic source fields, never labels or IDs.
export declare function chartSelectionTargetForDatum(dataset: ChartDataset, category: ChartCategory, series: ChartSeries): ChartSelectionTarget;;matchesPivotChartSelection
Section titled “matchesPivotChartSelection”export declare function matchesChartSelection(target: ChartSelectionTarget, selection: ChartSelection, intersectionOnly?: boolean): boolean;;parsePivotChartNavigation
Section titled “parsePivotChartNavigation”Own authored settings without adding effective defaults. Empty records reset.
export declare function parseChartNavigation(value: unknown, chartType?: ChartType, localeText?: ChartsLocaleText): ChartNavigation | undefined;;parsePivotChartViewport
Section titled “parsePivotChartViewport”Optional chartType validates capabilities and effective X-axis compatibility.
export declare function parseChartViewport(value: unknown, chartType?: ChartType, axes?: ChartAxes, localeText?: ChartsLocaleText): ChartViewport | undefined;;resolvePivotChartViewport
Section titled “resolvePivotChartViewport”Resolve a window without cloning/filtering the canonical matrix or renumbering its cells.
export declare function resolveChartViewport(dataset: ChartDataset, axes?: ChartAxes, viewport?: ChartViewport, fullDomain?: ChartViewport): { entries: { category: import('..').ChartCategory; categoryIndex: number; value: number; }[]; visibleEntries: { category: import('..').ChartCategory; categoryIndex: number; value: number; }[]; scale: import('..').ChartXScale; continuous: boolean; numeric: boolean; compressed: boolean; reverse: boolean; constant: number | undefined; ratioValue: (value: number) => number; valueAt: (position: number) => number; fullRatio: (value: number) => number; fullValueAt: (position: number) => number; minimum: number; maximum: number; fullMinimum: number; fullMaximum: number; dormant: boolean; empty: boolean;};;parsePivotChartColor
Section titled “parsePivotChartColor”export declare function parseChartColor(value: unknown): string;;parsePivotChartLineDash
Section titled “parsePivotChartLineDash”Shared authored stroke vocabulary for series and reference lines.
export declare function parseChartLineDash(value: unknown): 'solid' | 'dash' | 'dot';;parsePivotChartColors
Section titled “parsePivotChartColors”export declare function parseChartColors(value: unknown, chartType: ChartType): ChartColors | undefined;;getPivotChartColorIdentity
Section titled “getPivotChartColorIdentity”Stable field-qualified identity. Undefined means source member metadata is unavailable.
export declare function getChartColorIdentity(dataset: ChartDataset, categoryIndex?: number, seriesIndex?: number): string | undefined;;assertPivotChartColorData
Section titled “assertPivotChartColorData”Reject whole-series color assignments when values-on-rows carries multiple measures.
export declare function assertChartColorData(dataset: ChartDataset, chartType: ChartType, colors?: ChartColors): void;;parsePivotChartLegendAction
Section titled “parsePivotChartLegendAction”export declare function parseChartLegendAction(value: unknown, chartType: ChartType): 'focus' | 'toggleVisibility' | undefined;;createPivotChartSeriesSubset
Section titled “createPivotChartSeriesSubset”Projects series without changing canonical observation identities or metadata.
export declare function createChartSeriesSubset(dataset: ChartDataset, seriesIds: readonly string[]): { dataset: ChartDataset; seriesIndexes: number[];};;filterPivotChartDatasetSeries
Section titled “filterPivotChartDatasetSeries”Existing data-selection policy: absent or empty IDs mean all configured series.
export declare function filterChartDatasetSeries(dataset: ChartDataset, seriesIds?: readonly string[]): ChartDataset;;parsePivotChartAnnotations
Section titled “parsePivotChartAnnotations”Own the authored object without adding effective defaults or derived statuses.
export declare function parseChartAnnotations(value: unknown, chartType?: ChartType, axes?: ChartAxes): ChartAnnotations | undefined;;resolvePivotChartNoteTarget
Section titled “resolvePivotChartNoteTarget”Exact observation matching: ancestor/prefix selection semantics are intentionally not used.
export declare function resolveChartNoteTarget(dataset: ChartDataset, target: ChartNote['target']): { categoryIndex: number; seriesIndex: number;} | undefined;;resolvePivotChartCategoryReference
Section titled “resolvePivotChartCategoryReference”export declare function resolveChartCategoryReference(dataset: ChartDataset, coordinate: ChartAnnotationCoordinate): number | undefined;;assertPivotChartAnnotationData
Section titled “assertPivotChartAnnotationData”Validate metadata before any custom or SVG renderer mutates its current frame.
export declare function assertChartAnnotationData(dataset: ChartDataset, chartType: ChartType, annotations: ChartAnnotations | undefined, axes?: ChartAxes): void;;resolvePivotChartAnnotations
Section titled “resolvePivotChartAnnotations”export declare function resolveChartAnnotations(dataset: ChartDataset, annotations: ChartAnnotations | undefined, options?: { axes?: ChartAxes; chartType?: ChartType; seriesOverrides?: ChartSeriesOverrides; viewport?: ChartViewport; bindings?: import('../contracts/types').ChartBindings;}): { references: ChartReferenceResolution[]; notes: ChartNoteResolution[];};;PivotChartAnnotationStatus
Section titled “PivotChartAnnotationStatus”export type ChartAnnotationStatus = 'resolved' | 'missing' | 'ambiguous' | 'hidden' | 'outsideViewport' | 'noValue' | 'unsupportedMember';PivotChartNoteResolution
Section titled “PivotChartNoteResolution”interface ChartNoteResolution { note: ChartNote; status: ChartAnnotationStatus; categoryIndex?: number; seriesIndex?: number; value?: number}PivotChartReferenceResolution
Section titled “PivotChartReferenceResolution”interface ChartReferenceResolution { reference: ChartReference; status: ChartAnnotationStatus; /** Category endpoint indexes in authored order; time/numeric references need no indexes. */ categoryIndexes?: number[]}parsePivotChartDescription
Section titled “parsePivotChartDescription”Plaintext authored description. Empty clears; omitted values remain omitted.
export declare function parseChartDescription(value: unknown): string | undefined;;assertPivotChartDataLabels
Section titled “assertPivotChartDataLabels”Only optional data-label text is governed here, not intrinsic chart labels.
export declare function assertChartDataLabels(value: unknown, chartType: Parameters<typeof getChartDefinition>[0], localeText?: ChartsLocaleText): void;;PivotChartsEChartsRuntime
Section titled “PivotChartsEChartsRuntime”Structural runtime boundary: applications register ECharts modules and CanvasRenderer.
interface ChartsEChartsRuntime { init(container: HTMLElement, theme: null, options: { renderer: 'canvas'; }): ChartsEChartsInstance}PivotChartsEChartsInstance
Section titled “PivotChartsEChartsInstance”interface ChartsEChartsInstance { setOption(option: object, options?: { notMerge?: boolean; lazyUpdate?: boolean; }): void; on(name: string, handler: (detail: unknown) => void): void; off(name: string, handler: (detail: unknown) => void): void; resize(): void; dispose(): void; getDataURL(options?: { type?: 'png'; pixelRatio?: number; backgroundColor?: string; }): string}PivotChartsEChartsEvent
Section titled “PivotChartsEChartsEvent”interface ChartsEChartsEvent { seriesIndex?: number; dataIndex?: number; data?: unknown; event?: { event?: Event; }}createPivotChartsEChartsRenderer
Section titled “createPivotChartsEChartsRenderer”Supplies grid-owned theme tokens to the optional chart backend.
export function createPivotChartsEChartsRenderer(runtime: ChartsEChartsRuntime);PIVOT_CHART_CSV_OPTION_KEYS
Section titled “PIVOT_CHART_CSV_OPTION_KEYS”CHART_CSV_OPTION_KEYS: readonly string[];parsePivotChartCsvOptions
Section titled “parsePivotChartCsvOptions”Own and validate only CSV settings. Absent settings retain documented defaults.
export declare function parseChartCsvOptions(value?: unknown): ChartCsvOptions;;exportPivotChartToCsv
Section titled “exportPivotChartToCsv”Export committed chart cells, never sampled marks, source transactions or table pages.
export declare function exportChartToCsv(dataset: ChartDataset, model: Pick<ChartModel, 'axes' | 'viewport' | 'seriesOverrides'> & Partial<Pick<ChartModel, 'bindings' | 'chartType' | 'chartOptions'>>, options?: ChartCsvOptions, localeText?: ChartsLocaleText): string;;PivotChartsVectorPdfDocument
Section titled “PivotChartsVectorPdfDocument”Structural jsPDF interface; load svg2pdf.js in the application before use.
interface ChartsVectorPdfDocument { addFileToVFS(fileName: string, dataBase64: string): unknown; addFont(fileName: string, fontFamily: string, fontStyle: string): unknown; svg(svg: SVGSVGElement, options: { x: number; y: number; width: number; height: number; }): Promise<unknown>; output(type: 'datauristring'): string}PivotChartsVectorPdfRuntime
Section titled “PivotChartsVectorPdfRuntime”interface ChartsVectorPdfRuntime { createDocument(options: { orientation: 'landscape' | 'portrait'; unit: 'pt'; format: readonly [number, number]; }): ChartsVectorPdfDocument}PivotChartsVectorPdfFont
Section titled “PivotChartsVectorPdfFont”interface ChartsVectorPdfFont { fileName: string; fontFamily: string; fontStyle?: 'normal' | 'bold' | 'italic' | 'bolditalic'; dataBase64: string}createPivotChartsVectorPdfEncoder
Section titled “createPivotChartsVectorPdfEncoder”Inject jsPDF + svg2pdf.js and explicitly register every font/style used by text.
export declare function createChartsVectorPdfEncoder(runtime: ChartsVectorPdfRuntime, options: { fonts: readonly ChartsVectorPdfFont[];}): ChartPdfEncoder & { readonly encoding: 'vector';};;StandalonePivotChartDatasetOptions
Section titled “StandalonePivotChartDatasetOptions”interface StandaloneChartDatasetOptions { category: { field: string; label?: string; path?: readonly string[]; parent?: string; subtitle?: string; image?: string; }; series: readonly { field: string; id?: string; label?: string; }[]}createStandalonePivotChartDataset
Section titled “createStandalonePivotChartDataset”One input row is one category. No grouping, coercion or aggregation occurs.
export declare function createStandaloneChartDataset(rows: readonly Record<string, unknown>[], options: StandaloneChartDatasetOptions): ChartDataset;;PIVOT_CHART_UI_CONTROLS
Section titled “PIVOT_CHART_UI_CONTROLS”Stable IDs for chart UI policies. Prefixes configure entire groups.
CHART_UI_CONTROLS: readonly ["navigation.tradingToolbar", "actions", "actions.close", "actions.host", "actions.exportChart", "actions.linkCharts", "actions.retry", "actions.viewData", "actions.underlyingRecords", "facets", "facets.previous", "facets.next", "actions.viewChart", "annotations", "annotations.addReference", "annotations.apply", "annotations.at", "annotations.automatic", "annotations.axis", "annotations.cancel", "annotations.category", "annotations.clear", "annotations.editable", "annotations.from", "annotations.kind", "annotations.label", "annotations.lineStyle", "annotations.max", "annotations.min", "annotations.newNote", "annotations.next", "annotations.nextChoice", "annotations.noteText", "annotations.opacity", "annotations.placement", "annotations.previous", "annotations.previousChoice", "annotations.remove", "annotations.series", "annotations.to", "annotations.usePoint", "annotations.utc", "annotations.value", "axes", "axes.seriesAxis", "axes.seriesLayer", "axes.seriesInterpolation", "axes.seriesConnectNulls", "axes.seriesBaseline", "axes.seriesMarkers", "axes.x.groups", "axes.x.max", "axes.x.min", "axes.x.notation", "axes.x.precision", "axes.x.scale", "axes.x.title", "axes.x.unit", "axes.y.max", "axes.y.min", "axes.y.notation", "axes.y.precision", "axes.y.scale", "axes.y.title", "axes.y.unit", "axes.ySecondary.max", "axes.ySecondary.min", "axes.ySecondary.notation", "axes.ySecondary.precision", "axes.ySecondary.scale", "axes.ySecondary.title", "axes.ySecondary.unit", "chartOptions", "chartOptions.priceStyle", "chartOptions.candleFill", "chartOptions.facetScaleMode", "chartOptions.orientation", "chartOptions.binCount", "chartOptions.histogramAggregation", "chartOptions.innerRadius", "chartOptions.startAngle", "chartOptions.sweepAngle", "chartOptions.calloutLabels", "chartOptions.scaleMin", "chartOptions.scaleMax", "chartOptions.needle", "chartOptions.segments", "chartOptions.pivotX", "chartOptions.pivotY", "chartOptions.radialStacking", "chartOptions.cornerRadius", "chartOptions.groupPadding", "chartOptions.normalizedTo", "chartOptions.fillOpacity", "chartOptions.markOpacity", "chartOptions.resetAll", "chartOptions.showGridLines", "chartOptions.strokeWidth", "chartOptions.xAxisScale", "chartTypes", "colors", "colors.addMeasure", "colors.addMember", "colors.addRule", "colors.apply", "colors.chooseMeasure", "colors.chooseMember", "colors.fallback", "colors.legendAction", "colors.mapping", "colors.marker", "colors.max", "colors.measureColor", "colors.memberAxis", "colors.memberColor", "colors.midpoint", "colors.min", "colors.next", "colors.nextMembers", "colors.operator", "colors.palette", "colors.pattern", "colors.previous", "colors.previousMembers", "colors.remove", "colors.removeRule", "colors.reset", "colors.ruleColor", "colors.seriesColor", "colors.seriesDash", "colors.stop", "colors.value", "colors.visible", "context", "context.close", "context.columns", "context.filters", "context.heading", "context.localFilters", "context.note", "context.overview", "context.rows", "context.totals", "controls", "controls.connectionHint", "controls.dataLabels", "controls.description", "controls.drillSyncMode", "controls.keepLinked", "controls.legend", "controls.subtitle", "controls.theme", "controls.title", "controls.totals", "controls.valueSeries", "controls.xAxisTitle", "controls.yAxisTitle", "customize", "data", "dataView", "dataView.filtering", "dataView.resize", "dataView.selection", "dataView.sorting", "drill", "drill.navigate", "drill.retry", "export", "export.csv", "export.pdf", "export.png", "export.svg", "gallery", "gallery.configureData", "gallery.measureAdvisory", "gallery.searchAriaLabel", "gallery.useCombination", "gallery.useSmallMultiples", "interaction", "interaction.apply", "interaction.clear", "interaction.crossHighlight", "interaction.edit", "interaction.mode", "interaction.reset", "interaction.selectionMode", "inspector", "inspector.source", "inspector.fields", "inspector.sort", "inspector.filters", "inspector.connection", "inspector.presentation", "inspector.axes", "inspector.appearance", "inspector.colors", "inspector.navigation", "inspector.interaction", "inspector.annotations", "navigation", "navigation.crosshair", "navigation.enabled", "navigation.rangeSelector", "navigation.navigator", "navigation.resetNavigation", "navigation.resetViewport", "navigation.tooltipMode", "presentation", "query", "query.addField", "query.apply", "query.clearField", "query.columns", "query.count", "query.filterField", "query.filterMode", "query.filters", "query.measures", "query.independentLayoutSync", "query.memberStatus", "query.pendingChanges", "query.retryMembers", "query.member", "query.moveUp", "query.next", "query.other", "query.previous", "query.rankMeasure", "query.ranking", "query.removeField", "query.reset", "query.rows", "query.searchMembers", "query.sort", "query.sortDirection", "query.sortMeasure", "relationship", "relationship.size", "relationship.x", "relationship.y", "settings", "tabs", "tabs.chart", "tabs.customize", "tabs.data"];PivotChartUiControlId
Section titled “PivotChartUiControlId”Chart type IDs additionally use chartTypes.
/** Chart type IDs additionally use chartTypes.<ChartType>. */export type ChartUiControlId = (typeof CHART_UI_CONTROLS)[number] | `chartTypes.${import('../catalog/metadata').ChartType}` | (string & {});createPivotChartViewportDataSource
Section titled “createPivotChartViewportDataSource”Capture a Pivot semantic request. Replace this source whenever its revision/scope/query changes.
export function createPivotChartViewportDataSource( provider: PivotChartDataProvider, baseRequest: PivotChartDataRequest,): ChartDataSource;validatePivotChartViewportDataResponse
Section titled “validatePivotChartViewportDataResponse”Validates windowed frames explicitly; the legacy complete-data validator remains strict.
export function validatePivotChartViewportDataResponse( response: PivotChartViewportDataResponse, request: PivotChartViewportDataRequest, limits: PivotChartLimits,): ChartDataSourceResponse;PivotChartLinkControls
Section titled “PivotChartLinkControls”Accessible shared panel; the owning dialog supplies its existing disclosure/modal surface.
export function PivotChartLinkControls(props: PivotChartLinkControlsProps);mountPivotChartLinkControls
Section titled “mountPivotChartLinkControls”The owning plugin refreshes peers when charts open/close and destroys this surface with its chart.
export function mountPivotChartLinkControls( options: PivotChartLinkControlsMountOptions,): { refresh(): void; destroy(): void };DEFAULT_PIVOT_CHART_LINK_LABELS
Section titled “DEFAULT_PIVOT_CHART_LINK_LABELS”DEFAULT_PIVOT_CHART_LINK_LABELS: PivotChartLinkLabels;PivotChartLinkPeer
Section titled “PivotChartLinkPeer”interface PivotChartLinkPeer { target: ChartSyncTarget; label: string}PivotChartLinkLabels
Section titled “PivotChartLinkLabels”interface PivotChartLinkLabels { heading: string; peers: string; viewport: string; domain: string; hover: string; off: string; x: string; y: string; xy: string; apply: string; unlink: string; empty: string; linkError: string}PivotChartLinkControlsProps
Section titled “PivotChartLinkControlsProps”interface PivotChartLinkControlsProps { chartId: string; peers: readonly PivotChartLinkPeer[]; linkedTargetIds?: readonly string[]; options?: ChartSyncGroupOptions; labels?: Partial<PivotChartLinkLabels>; disabled?: boolean; /** Plugin owns group replacement/disposal; membership remains runtime-only. */ onLink( targetIds: readonly string[], options: ChartSyncGroupOptions, ): void | Promise<void>; onUnlink(): void | Promise<void>}PivotChartLinkControlsMountOptions
Section titled “PivotChartLinkControlsMountOptions”interface PivotChartLinkControlsMountOptions { disabled?: boolean; /** A dedicated host owned by the caller, separate from renderer-owned content. */ mount: HTMLElement; chartId: string; getTargets(): readonly PivotChartLinkPeer[]; getInitialSettings?(): { targetIds?: readonly string[]; options?: ChartSyncGroupOptions; }; labels?: Partial<PivotChartLinkLabels>; onLink( targetIds: readonly string[], options: ChartSyncGroupOptions, ): void | Promise<void>; onUnlink(): void | Promise<void>}createPivotChartHistogramDataView
Section titled “createPivotChartHistogramDataView”Owned histogram snapshot: bins describe complete statistics, samples describe loaded records only.
export declare function createChartHistogramDataView(input: ChartHistogramDataViewInput, options?: ChartHistogramDataViewOptions): ChartHistogramDataView;;createPivotChartHistogramDataViews
Section titled “createPivotChartHistogramDataViews”All bound distributions, retaining canonical sample order and independent viewport policy.
export declare function createChartHistogramDataViews(input: ChartHistogramDataViewInput, options?: Omit<ChartHistogramDataViewOptions, 'sampleSeriesId'>): ChartHistogramDataView[];;PivotChartHistogramDataView
Section titled “PivotChartHistogramDataView”interface ChartHistogramDataView { dataScope: 'current' | 'all'; sampleSeriesId?: string; valueSeriesId?: string; aggregation: 'count' | 'sum' | 'mean'; area: boolean; loadedRowCount: number; loadedSampleCount: number; sourceSampleCount: number; samples: ChartHistogramSampleRow[]; bins: ChartHistogramBinRow[]}PivotChartHistogramDataViewInput
Section titled “PivotChartHistogramDataViewInput”export type ChartHistogramDataViewInput = Pick<ChartModel, 'chartType' | 'dataset' | 'bindings' | 'chartOptions' | 'axes' | 'viewport' | 'seriesOverrides'>;PivotChartHistogramDataViewOptions
Section titled “PivotChartHistogramDataViewOptions”interface ChartHistogramDataViewOptions { /** Current raw viewport (default), or every loaded row. Never fetches missing rows. */ dataScope?: 'current' | 'all'; /** Select one explicitly bound distribution; defaults to the first bound member. */ sampleSeriesId?: string}PivotChartHistogramSampleRow
Section titled “PivotChartHistogramSampleRow”interface ChartHistogramSampleRow { category: ChartCategory; categoryIndex: number; sample: number | null; value: number | null; binIndex: number | null}PivotChartHistogramBinRow
Section titled “PivotChartHistogramBinRow”interface ChartHistogramBinRow { index: number; start: number; end: number; endInclusive: boolean; count: number; loadedCount: number; sampleMean: number | null; valueCount: number; scaledValue: number; multiplier: number; value: number | null; density?: number}PivotChartPieItemIdentifier
Section titled “PivotChartPieItemIdentifier”Stable source identity for a pie sector, independent of rendering order.
/** Stable source identity for a pie sector, independent of rendering order. */export type ChartPieItemIdentifier = { categoryId: string; seriesId: string;};PivotChartPieArcStyle
Section titled “PivotChartPieArcStyle”export type ChartPieArcStyle = { /** SVG pixels, or a percentage of the available fitted radius before outerRadius scaling. */ innerRadius?: ChartPieRadius; outerRadius?: ChartPieRadius; /** Signed SVG pixels added after resolving outerRadius. */ additionalRadius?: number; cornerRadius?: number; color?: string; /** Multiplies the existing source mark opacity. */ opacity?: number;};PivotChartPieRadius
Section titled “PivotChartPieRadius”export type ChartPieRadius = number | `${number}%`;PivotChartRadarAxes
Section titled “PivotChartRadarAxes”interface ChartRadarAxes { /** Defaults inherited by every metric axis. */ value?: ChartRadarValueAxis; /** Stable category IDs; missing IDs remain dormant for future data. */ metrics?: Record<string, ChartRadarValueAxis>; gridColor?: string; stripeColors?: readonly string[]; showRings?: boolean; showSpokes?: boolean; showLabels?: boolean; labelOffset?: number; labelOrientation?: 'horizontal' | 'radial' | 'tangential'}PivotChartRadarValueAxis
Section titled “PivotChartRadarValueAxis”export type ChartRadarValueAxis = ChartPolarValueAxis;PivotChartPolarAxes (Extended from index.ts)
Section titled “PivotChartPolarAxes (Extended from index.ts)”interface ChartPolarAxes { showCategoryLabels?: boolean; valueAxes?: Record<string, ChartPolarNumericAxis>; /** Radial value axis: start/end/angle in degrees. Angular value axis: inside/outside. */ position?: ChartPolarAxisPosition; tickSize?: number; tickPosition?: ChartPolarTickPosition; tickLabelPosition?: ChartPolarTickPosition; disableLine?: boolean; disableTicks?: boolean; disableTickLabel?: boolean; value?: ChartPolarValueAxis; showValues?: boolean; showGrid?: boolean; gridColor?: string}PivotChartPolarNumericAxis
Section titled “PivotChartPolarNumericAxis”interface ChartPolarNumericAxis { /** Radial value axis: start/end/angle in degrees. Angular value axis: inside/outside. */ position?: ChartPolarAxisPosition; tickSize?: number; tickPosition?: ChartPolarTickPosition; tickLabelPosition?: ChartPolarTickPosition; disableLine?: boolean; disableTicks?: boolean; disableTickLabel?: boolean; value?: ChartPolarValueAxis; showValues?: boolean; showGrid?: boolean; gridColor?: string}PivotChartPolarValueAxis
Section titled “PivotChartPolarValueAxis”export type ChartPolarValueAxis = Omit<ChartValueAxis, 'position'>;PivotChartPolarAxisPosition
Section titled “PivotChartPolarAxisPosition”export type ChartPolarAxisPosition = 'start' | 'end' | 'inside' | 'outside' | number;PivotChartPolarTickPosition
Section titled “PivotChartPolarTickPosition”export type ChartPolarTickPosition = 'before' | 'center' | 'after';PivotChartCalendarPreset
Section titled “PivotChartCalendarPreset”export type ChartCalendarPreset = '1M' | '3M' | 'YTD' | '1Y' | 'all' | ChartCalendarPresetDefinition;PivotChartCalendarPresetDefinition
Section titled “PivotChartCalendarPresetDefinition”interface ChartCalendarPresetDefinition { id: string; label: string; unit: 'day' | 'week' | 'month' | 'year'; count: number}PivotChartValueNavigationLimits
Section titled “PivotChartValueNavigationLimits”interface ChartValueNavigationLimits { /** Raw public value bounds, intersected with the full axis domain. */ min?: number; max?: number; /** Fractions of the transformed full domain, greater than zero and at most one. */ minSpan?: number; maxSpan?: number}PivotChartSvgRendererPolicy
Section titled “PivotChartSvgRendererPolicy”Native SVG policy for groupedColumn, groupedBar and scatter only.
/** Native SVG policy for groupedColumn, groupedBar and scatter only. */export type ChartSvgRendererPolicy = 'svg' | 'batched-svg';PivotChartDatumPaint
Section titled “PivotChartDatumPaint”Owned JSON paint descriptions; colors use the existing hexadecimal color contract.
/** Owned JSON paint descriptions; colors use the existing hexadecimal color contract. */export type ChartDatumPaint = string | { type: 'linearGradient'; direction?: 'horizontal' | 'vertical'; stops: Array<{ offset: number; color: string; opacity?: number; }>;} | { type: 'pattern'; pattern: 'dots' | 'diagonal'; color: string; /** Defaults to the resolved chart background, including in dark themes. */ background?: string; size?: number;};PivotChartDatumStyle
Section titled “PivotChartDatumStyle”interface ChartDatumStyle { fill?: ChartDatumPaint; stroke?: ChartDatumPaint; strokeWidth?: number; strokeDasharray?: string; fillOpacity?: number; strokeOpacity?: number; /** Shape and radius in SVG units, for painted line/scatter markers only. */ marker?: ChartMarkerShape; markerSize?: number}PivotChartDatumEncoding
Section titled “PivotChartDatumEncoding”interface ChartDatumEncoding { style?: ChartDatumStyle; datums?: Array<{ categoryId: string; style: ChartDatumStyle; }>; /** Directed adjacent finite source IDs. Line stroke only; marker/fill fields are rejected. */ segments?: Array<{ from: string; to: string; style: ChartDatumStyle; }>}PivotChartDatumStyleContext
Section titled “PivotChartDatumStyleContext”Immutable canonical raw source context, independent of hidden/projected series indexes.
interface ChartDatumStyleContext { readonly chartId: string; readonly chartType: ChartType; readonly renderMode: 'chart' | 'preview'; readonly kind: 'datum' | 'segment'; readonly categoryIndex: number; readonly seriesIndex: number; readonly category: Readonly<ChartCategory>; readonly series: Readonly<ChartSeries>; readonly value: number | null; readonly to?: { readonly categoryIndex: number; readonly category: Readonly<ChartCategory>; readonly value: number | null; }}PivotChartBubbleLayer
Section titled “PivotChartBubbleLayer”A bubble layer is owned by its raw Y series. Helpers remain canonical source measures.
interface ChartBubbleLayer { x: string; size: string}PivotChartHistogramLayer
Section titled “PivotChartHistogramLayer”A histogram layer is owned by its raw sample series. Bins are inspection aggregates.
interface ChartHistogramLayer { value?: string; binCount?: number; boundaries?: number[]; aggregation?: 'count' | 'sum' | 'mean'}PivotChartBubbleLayerSourceRequest (Extended from index.ts)
Section titled “PivotChartBubbleLayerSourceRequest (Extended from index.ts)”Per-layer source-query identity; data providers still return genuine canonical rows.
interface ChartBubbleLayerSourceRequest { seriesId: string; xAxis: string; yAxis: string; x: string; size: string}createPivotChartSessionCalendar
Section titled “createPivotChartSessionCalendar”export declare function createChartSessionCalendar(input: ChartSessionCalendarInput): ChartSessionCalendar;;PivotChartRendererPolicy
Section titled “PivotChartRendererPolicy”export type ChartRendererPolicy = ChartSvgRendererPolicy | 'webgl';PIVOT_CHART_CREATED_EVENT
Section titled “PIVOT_CHART_CREATED_EVENT”PIVOT_CHART_CREATED_EVENT: string;PIVOT_CHART_UPDATED_EVENT
Section titled “PIVOT_CHART_UPDATED_EVENT”PIVOT_CHART_UPDATED_EVENT: string;PIVOT_CHART_DESTROYED_EVENT
Section titled “PIVOT_CHART_DESTROYED_EVENT”PIVOT_CHART_DESTROYED_EVENT: string;PIVOT_CHART_NODE_CLICK_EVENT
Section titled “PIVOT_CHART_NODE_CLICK_EVENT”PIVOT_CHART_NODE_CLICK_EVENT: string;PIVOT_CHART_ERROR_EVENT
Section titled “PIVOT_CHART_ERROR_EVENT”PIVOT_CHART_ERROR_EVENT: string;PIVOT_CHART_BEFORE_DRILL_EVENT
Section titled “PIVOT_CHART_BEFORE_DRILL_EVENT”PIVOT_CHART_BEFORE_DRILL_EVENT: string;PIVOT_CHART_DRILL_START_EVENT
Section titled “PIVOT_CHART_DRILL_START_EVENT”PIVOT_CHART_DRILL_START_EVENT: string;PIVOT_CHART_DRILLED_EVENT
Section titled “PIVOT_CHART_DRILLED_EVENT”PIVOT_CHART_DRILLED_EVENT: string;PIVOT_CHART_DRILL_ERROR_EVENT
Section titled “PIVOT_CHART_DRILL_ERROR_EVENT”PIVOT_CHART_DRILL_ERROR_EVENT: string;PIVOT_CHART_DRILL_RESET_EVENT
Section titled “PIVOT_CHART_DRILL_RESET_EVENT”PIVOT_CHART_DRILL_RESET_EVENT: string;PIVOT_CHART_DRILL_SYNC_EVENT
Section titled “PIVOT_CHART_DRILL_SYNC_EVENT”PIVOT_CHART_DRILL_SYNC_EVENT: string;PIVOT_CHART_BEFORE_SELECTION_EVENT
Section titled “PIVOT_CHART_BEFORE_SELECTION_EVENT”PIVOT_CHART_BEFORE_SELECTION_EVENT: string;PIVOT_CHART_SELECTION_CHANGED_EVENT
Section titled “PIVOT_CHART_SELECTION_CHANGED_EVENT”PIVOT_CHART_SELECTION_CHANGED_EVENT: string;PIVOT_CHART_SELECTION_ERROR_EVENT
Section titled “PIVOT_CHART_SELECTION_ERROR_EVENT”PIVOT_CHART_SELECTION_ERROR_EVENT: string;PIVOT_CHART_SELECTION_REQUEST_EVENT
Section titled “PIVOT_CHART_SELECTION_REQUEST_EVENT”PIVOT_CHART_SELECTION_REQUEST_EVENT: string;PIVOT_CHART_BEFORE_DOWNLOAD_EVENT
Section titled “PIVOT_CHART_BEFORE_DOWNLOAD_EVENT”PIVOT_CHART_BEFORE_DOWNLOAD_EVENT: string;PIVOT_CHART_DOWNLOADED_EVENT
Section titled “PIVOT_CHART_DOWNLOADED_EVENT”PIVOT_CHART_DOWNLOADED_EVENT: string;PIVOT_CHART_DOWNLOAD_ERROR_EVENT
Section titled “PIVOT_CHART_DOWNLOAD_ERROR_EVENT”PIVOT_CHART_DOWNLOAD_ERROR_EVENT: string;PIVOT_CHART_RANGE_SELECTION_START_EVENT
Section titled “PIVOT_CHART_RANGE_SELECTION_START_EVENT”PIVOT_CHART_RANGE_SELECTION_START_EVENT: string;PIVOT_CHART_RANGE_SELECTION_CHANGE_EVENT
Section titled “PIVOT_CHART_RANGE_SELECTION_CHANGE_EVENT”PIVOT_CHART_RANGE_SELECTION_CHANGE_EVENT: string;PIVOT_CHART_RANGE_SELECTION_END_EVENT
Section titled “PIVOT_CHART_RANGE_SELECTION_END_EVENT”PIVOT_CHART_RANGE_SELECTION_END_EVENT: string;evaluatePivotChartCatalog
Section titled “evaluatePivotChartCatalog”export function evaluatePivotChartCatalog( context: PivotChartCompatibilityContext,): PivotChartCompatibility[];evaluatePivotChartCompatibility
Section titled “evaluatePivotChartCompatibility”export function evaluatePivotChartCompatibility( chartType: PivotChartType, context: PivotChartCompatibilityContext,): PivotChartCompatibility;resolveRelationshipBindings
Section titled “resolveRelationshipBindings”export function resolveRelationshipBindings( channels: readonly Extract<PivotChartBindingChannel, 'x' | 'y' | 'size'>[], dataset: PivotChartDataset, current: PivotChartBindings, rebindWhenIncomplete = false,): PivotChartBindings | undefined;getPivotChartMeasureContext
Section titled “getPivotChartMeasureContext”Explicit measure identities and authored units only; captions never imply units.
export function getPivotChartMeasureContext( dataset: PivotChartDataset, model: PivotChartModel,);PivotChartCompatibilityStatus
Section titled “PivotChartCompatibilityStatus”export type PivotChartCompatibilityStatus = | 'recommended' | 'compatible' | 'needsFields' | 'unsupported';PivotChartCompatibilityReason
Section titled “PivotChartCompatibilityReason”export type PivotChartCompatibilityReason = | { code: 'rendererUnsupported' } | { code: 'categoriesRequired'; minimum: number } | { code: 'seriesRequired'; minimum: number } | { code: 'seriesLimit'; maximum: number } | { code: 'singleSeriesRequired' } | { code: 'rowHierarchyRequired' } | { code: 'dateCategoriesRequired' } | { code: 'distributionViewRequired' } | { code: 'nonNegativeValuesRequired' } | { code: 'channelRequired'; channel: Extract< PivotChartBindingChannel, | 'x' | 'y' | 'size' | SpecializedSeriesChannel | 'source' | 'target' | 'weight' >; } | { code: 'noCompletePoints' } | { code: 'nonNegativeSizeRequired' };PivotChartCompatibility
Section titled “PivotChartCompatibility”interface PivotChartCompatibility { chartType: PivotChartType; status: PivotChartCompatibilityStatus; reasons: readonly PivotChartCompatibilityReason[]; score: number; inferredPatch?: PivotChartUpdatePatch}PivotChartCompatibilityContext
Section titled “PivotChartCompatibilityContext”interface PivotChartCompatibilityContext { dataset?: PivotChartDataset; model: PivotChartModel; supportedTypes: readonly PivotChartType[]; /** Eligible native client measures; selecting a statistical type loads samples lazily. */ sourceDistributionSeriesIds?: readonly string[]}createInitialRowDrillState
Section titled “createInitialRowDrillState”export function createInitialRowDrillState( scope: PivotChartInitialScope, revision: number | null = null,): PivotChartDrillState;canDrillIntoCategory
Section titled “canDrillIntoCategory”export function canDrillIntoCategory(category: PivotChartCategory);canDrillIntoSeries
Section titled “canDrillIntoSeries”export function canDrillIntoSeries(series: PivotChartSeries);canDrillIntoTarget
Section titled “canDrillIntoTarget”export function canDrillIntoTarget(target: PivotChartDrillTarget);createRowDrillFrame
Section titled “createRowDrillFrame”export function createRowDrillFrame( category: PivotChartCategory,): PivotChartDrillFrame;appendRowDrillFrame
Section titled “appendRowDrillFrame”export function appendRowDrillFrame( state: PivotChartDrillState, category: PivotChartCategory, revision: number,): PivotChartDrillState;appendDrillFrame
Section titled “appendDrillFrame”export function appendDrillFrame( state: PivotChartDrillState, target: PivotChartDrillTarget, revision: number,): PivotChartDrillState;drillToFrame
Section titled “drillToFrame”export function drillToFrame( state: PivotChartDrillState, frameIndex: number, revision: number,): PivotChartDrillState;getParentDrillState
Section titled “getParentDrillState”export function getParentDrillState( state: PivotChartDrillState, revision: number,);reconcileDrillState
Section titled “reconcileDrillState”export function reconcileDrillState( state: PivotChartDrillState, pathDepth: number, revision: number,);createRootPivotChartDrillState
Section titled “createRootPivotChartDrillState”export function createRootPivotChartDrillState( revision: number | null = null,): PivotChartDrillState;parsePivotChartModel
Section titled “parsePivotChartModel”Parses untrusted JSON into a validated, deeply owned V2 model.
export function parsePivotChartModel(input: unknown, localeText?: PivotChartsLocaleText): PivotChartModel;clonePivotChartModel
Section titled “clonePivotChartModel”export function clonePivotChartModel(model: PivotChartModel): PivotChartModel;parsePivotChartBindings
Section titled “parsePivotChartBindings”export declare function parseChartBindings(value: unknown): ChartBindings;;mountPivotChart
Section titled “mountPivotChart”Mounts a Pivot Chart into an application-owned container.
Call this after the container exists (for example, in Vue onMounted) and
call destroy() on the returned ref during application cleanup. The
built-in renderer observes the existing container, so a container that is
initially hidden can become visible later.
Example:
const chart = await mountPivotChart(grid, { container: document.querySelector('#sales-chart')!, presentation: { title: 'Sales by region' },});
// Or embed the built-in configuration UI:const configurableChart = await mountPivotChart(grid, { container: document.querySelector('#chart-editor')!, controls: 'standard',});export async function mountPivotChart( grid: HTMLRevoGridElement, { controls = 'none', ...params }: PivotChartMountParams,): Promise<PivotChartRef>;PivotChartMountControls
Section titled “PivotChartMountControls”export type PivotChartMountControls = 'none' | 'standard';PivotChartMountParams (Extended from index.ts)
Section titled “PivotChartMountParams (Extended from index.ts)”interface PivotChartMountParams { /** * `none` renders only the chart. `standard` embeds the built-in gallery, * data, customization, drill, table, and export controls. * * @defaultValue `'none'` */ controls?: PivotChartMountControls; underlyingRecords?: boolean | ChartUnderlyingRecordsProvider; container: HTMLElement; linked?: boolean; /** Creation-only semantic scope, persisted as the chart's drill state. */ initialScope?: PivotChartInitialScope; presentation?: PivotChartPresentation; theme?: PivotChartTheme; navigation?: PivotChartNavigation; viewport?: PivotChartViewport; interaction?: PivotChartInteraction; selection?: PivotChartSelection; rangeSelection?: ChartRangeSelection; axes?: PivotChartAxes; seriesOverrides?: PivotChartSeriesOverrides; colors?: PivotChartColors; annotations?: PivotChartAnnotations; analysis?: ChartAnalysis; facets?: ChartFacets; bullet?: ChartBullet; chartOptions?: PivotChartOptions; /** Controls whether drill navigation is local, Pivot-owned, synchronized, or application-owned. */ drillSyncMode?: PivotChartDrillSyncMode; /** Chart-local source query; undefined preserves and an empty object resets. */ query?: PivotAnalyticalQuery; chartType?: PivotChartType; seriesIds?: string[]; /** Measure carried by categories when Pivot values are placed on rows. */ categoryMeasure?: PivotChartMeasureSelection; totals?: PivotChartTotalsMode; limits?: Partial<PivotChartLimits>; bindings?: PivotChartBindings}projectPivotChartDataset
Section titled “projectPivotChartDataset”export function projectPivotChartDataset( snapshot: PivotRuntimeSnapshot, context: PivotChartProjectorContext, options: PivotChartDataOptions = {},): PivotChartDataset;projectPivotChartSemanticSlice
Section titled “projectPivotChartSemanticSlice”Projects one already-aggregated semantic child slice through the same matrix adapter as the root chart. The Pivot query owns hierarchy navigation; this adapter only maps its committed rows into renderer data.
export function projectPivotChartSemanticSlice( snapshot: PivotRuntimeSnapshot, slice: PivotSemanticSlice, context: Omit<PivotChartProjectorContext, 'visibleRows'>, options: PivotChartDataOptions = {},): PivotChartDataset;PivotChartSessionCalendar
Section titled “PivotChartSessionCalendar”Explicit, finite coverage. Intervals use epoch milliseconds and [open, close).
interface ChartSessionCalendar { timeZone: string; sessions: readonly { open: number; close: number; }[]}PivotChartSessionCalendarInput
Section titled “PivotChartSessionCalendarInput”interface ChartSessionCalendarInput { timeZone: string; /** Gaps always reject; folds reject unless explicitly resolved. */ disambiguation?: 'reject' | 'earlier' | 'later'; sessions: readonly { date: string; open: string; close: string; endDate?: string; }[]}PivotChartFinancialSessionPolicy (Extended from index.ts)
Section titled “PivotChartFinancialSessionPolicy (Extended from index.ts)”export type ChartFinancialSessionPolicy = { calendar: ChartSessionCalendar;} & ({ mode: 'session'; instants?: never;} | { mode: 'ordinal'; /** Full-source ordered timestamps; never inferred from a loaded page. */ instants: readonly number[];});PivotChartHostContext
Section titled “PivotChartHostContext”Canonical committed chart state, copied for each application callback.
interface ChartHostContext { chartId: string; chartType: ChartType; host: 'standalone' | 'pivot'; scope: 'chart' | 'selection'; selection: ChartSelection; bindings: ChartBindings; viewport: ChartViewport; dataset: ChartDataset; /** Present for charts mounted by the Pivot plugin. Does not grant record access. */ drillScope?: ChartDrillScope; signal: AbortSignal}PivotChartHostAction (Extended from index.ts)
Section titled “PivotChartHostAction (Extended from index.ts)”Commands and submenu owners are mutually exclusive.
/** Commands and submenu owners are mutually exclusive. */export type ChartHostAction = ChartHostActionBase & ({ run: (context: ChartHostContext) => void | Promise<void>; children?: never;} | { children: readonly ChartHostAction[] | ChartHostActionResolver; run?: never;});PivotChartHostActionResolver
Section titled “PivotChartHostActionResolver”export type ChartHostActionResolver = (context: ChartHostContext) => readonly ChartHostAction[] | Promise<readonly ChartHostAction[]>;PivotChartHostActionsOptions
Section titled “PivotChartHostActionsOptions”interface ChartHostActionsOptions { /** Accessible label for the existing controls strip button. */ label?: string; items: readonly ChartHostAction[] | ChartHostActionResolver; /** Observes resolver/command errors; observer exceptions are isolated. */ onError?: (error: unknown, context: ChartHostContext) => void}PivotChartExportContext (Extended from index.ts)
Section titled “PivotChartExportContext (Extended from index.ts)”interface ChartExportContext { operationId: string; kind: 'download' | 'imageDataURL'; options: ChartDownloadOptions | ChartImageOptions; chartId: string; chartType: ChartType; host: 'standalone' | 'pivot'; scope: 'chart' | 'selection'; selection: ChartSelection; bindings: ChartBindings; viewport: ChartViewport; dataset: ChartDataset; /** Present for charts mounted by the Pivot plugin. Does not grant record access. */ drillScope?: ChartDrillScope; signal: AbortSignal}PivotChartExportHooks
Section titled “PivotChartExportHooks”interface ChartExportHooks { /** False cancels. Do not await another queued operation on this chart. */ before?: (context: ChartExportContext) => boolean | void | Promise<boolean | void>; after?: (context: ChartExportContext) => void | Promise<void>; /** Called once for operation, before-hook or after-hook failure, including abort. */ error?: (error: unknown, context: ChartExportContext) => void | Promise<void>}ChartAxisRange
Section titled “ChartAxisRange”Inclusive category endpoints or absolute time bounds in epoch milliseconds.
/** Inclusive category endpoints or absolute time bounds in epoch milliseconds. */export type ChartAxisRange = { scale: 'category'; startId: string; endId: string;} | { scale: 'time'; min: number; max: number;} | ChartNumericViewportRange;ChartRangeSelection
Section titled “ChartRangeSelection”interface ChartRangeSelection { xAxis?: string; enabled?: boolean; style?: ChartRangeSelectionStyle; /** Null clears the range. Selecting never changes the viewport or source data. */ range?: ChartAxisRange | null}ChartRangeSelectionEvent
Section titled “ChartRangeSelectionEvent”interface ChartRangeSelectionEvent { range: ChartAxisRange | null; origin: 'pointer' | 'keyboard'}ChartRangeSelectionStyle
Section titled “ChartRangeSelectionStyle”Shared selection appearance for ordinary charts and composed navigators.
interface ChartRangeSelectionStyle { /** Plot opacity within the selection, multiplied by series fill opacity. */ selectedOpacity?: number; /** Plot opacity outside the selection; takes precedence over outsideOpacity. */ unselectedOpacity?: number; fillColor?: string; fillOpacity?: number; outsideColor?: string; outsideOpacity?: number; borderColor?: string; borderWidth?: number; handleColor?: string; handleBorderColor?: string; handleBorderWidth?: number; handleGripColor?: string; handleGripWidth?: number; handleWidth?: number; handleHeight?: number; handleRadius?: number; activeColor?: string}ChartAnalysis
Section titled “ChartAnalysis”interface ChartAnalysis { /** At most 32 overlays across all arrays. */ movingAverages?: ChartMovingAverage[]; regressions?: ChartRegression[]; periodComparisons?: ChartPeriodComparison[]; forecasts?: ChartForecast[]}ChartFacets
Section titled “ChartFacets”interface ChartFacets { /** Analytical-frame dimension field ID. Omitted retains one panel per measure. */ dimension?: string; type?: 'line' | 'bar' | 'column' | 'area'; /** Zero-based page; rendering clamps it after data or container changes. */ page?: number; /** Upper bound, additionally limited by the available panel area. */ pageSize?: number; scaleMode?: 'shared' | 'independent'}ChartBullet
Section titled “ChartBullet”interface ChartBullet { minimum?: number; maximum?: number; /** Strictly ascending qualitative range upper boundaries. */ ranges?: Array<{ to: number; label?: string; color?: string; }>; showVariance?: boolean; varianceFormat?: 'absolute' | 'percent'}ChartUnderlyingRecordsProvider
Section titled “ChartUnderlyingRecordsProvider”export type ChartUnderlyingRecordsProvider = (request: ChartUnderlyingRecordsRequest) => Promise<ChartUnderlyingRecordsPage>;PIVOT_CHART_MODEL_VERSION
Section titled “PIVOT_CHART_MODEL_VERSION”PIVOT_CHART_MODEL_VERSION: 2;PivotChartTotalsMode
Section titled “PivotChartTotalsMode”export type ChartTotalsMode = 'none' | 'grand' | 'subtotals' | 'all';PivotChartTheme
Section titled “PivotChartTheme”export type ChartThemeName = 'auto' | string;PivotChartUpdateReason
Section titled “PivotChartUpdateReason”export type ChartUpdateReason = 'data' | 'options' | 'theme' | 'relink' | 'drill';PivotChartLegendPosition
Section titled “PivotChartLegendPosition”export type ChartLegendPosition = 'top' | 'right' | 'bottom' | 'left' | 'none';PivotChartAxis
Section titled “PivotChartAxis”export type ChartAxis = 'row' | 'column';PivotChartDrillSyncMode
Section titled “PivotChartDrillSyncMode”export type ChartDrillSyncMode = 'chart' | 'pivot' | 'both' | 'event';PivotChartLimits
Section titled “PivotChartLimits”interface ChartLimits { maxCategories: number; maxSeries: number; maxDataPoints: number}PivotChartMeasure
Section titled “PivotChartMeasure”interface ChartMeasure { /** Stable configured measure identity, including calculated siblings. */ id?: string; /** Index in the committed Pivot measure configuration. */ valueIndex?: number; prop: ColumnProp; aggregator: string; label: string}PivotChartMeasureSelection
Section titled “PivotChartMeasureSelection”export type ChartMeasureSelection = Pick<ChartMeasure, 'prop' | 'aggregator' | 'id' | 'valueIndex'>;PivotChartMemberKind
Section titled “PivotChartMemberKind”export type ChartMemberKind = 'leaf' | 'group' | 'subtotal' | 'grandTotal' | 'collapsed';PivotChartHierarchyLevel
Section titled “PivotChartHierarchyLevel”interface ChartHierarchyLevel { id: string; field: ColumnProp; label: string; index: number}PivotChartHierarchyDefinition
Section titled “PivotChartHierarchyDefinition”interface ChartHierarchyDefinition { id: string; axis: ChartAxis; levels: ChartHierarchyLevel[]}PivotChartMemberHierarchy
Section titled “PivotChartMemberHierarchy”interface ChartMemberHierarchy { axis: ChartAxis; hierarchyId: string; levelId: string; levelIndex: number; maxLevelIndex: number; hasChildren: boolean; childCount?: number}PivotChartCategory
Section titled “PivotChartCategory”interface ChartCategory { /** Optional card presentation for organization charts. Node identity remains the semantic path. */ node?: { subtitle?: string; image?: string; }; /** Aggregated excluded source members; never a literal source identity. */ synthetic?: 'other'; id: string; label: string; path: ChartPath; labels: string[]; depth: number; kind: ChartMemberKind; measure?: ChartMeasure; /** Optional row-axis hierarchy metadata used by drill-aware datasets. */ hierarchy?: ChartMemberHierarchy}PivotChartSeries
Section titled “PivotChartSeries”interface ChartSeries { /** Derived analytical series are inspectable and never activate a source observation. */ derived?: 'cumulativePercent'; id: string; label: string; columnPath: ChartPath; labels: string[]; kind: ChartMemberKind; prop: ColumnProp; /** Fixed measure for values-on-columns layouts; the category owns it for values-on-rows. */ measure?: ChartMeasure; /** Optional column-axis hierarchy metadata used by drill-aware datasets. */ hierarchy?: ChartMemberHierarchy}PivotChartDataset
Section titled “PivotChartDataset”interface ChartDataset { /** Automatic chart-local ranking explanation, including the synthetic Others group. */ categorySummary?: string; revision: number; selectionFields?: { row: ColumnProp[]; column: ColumnProp[]; }; source: 'client' | 'server'; categories: ChartCategory[]; series: ChartSeries[]; /** Row-major matrix: values[categoryIndex][seriesIndex]. */ values: Array<Array<number | null>>; /** Optional row-major strings for labels and tooltips. */ displayValues?: Array<Array<string | null>>; /** Ordered hierarchy definitions supplied by drill-aware data providers. */ hierarchies?: { row?: ChartHierarchyDefinition; column?: ChartHierarchyDefinition; }; /** * Canonical long-form analytical frame. The matrix above is a renderer view * retained for efficient Cartesian drawing, while every semantic channel * resolves against stable field IDs in this frame. */ analyticalFrame?: ChartAnalyticalFrame}PivotChartSemanticType
Section titled “PivotChartSemanticType”export type ChartSemanticType = 'category' | 'number' | 'date' | 'geographic' | 'identifier';PivotChartFieldDescriptor
Section titled “PivotChartFieldDescriptor”interface ChartFieldDescriptor { id: string; label: string; role: 'dimension' | 'measure'; semanticType: ChartSemanticType; sourceField?: ColumnProp; aggregator?: string; format?: string}PivotChartDimensionValue
Section titled “PivotChartDimensionValue”interface ChartDimensionValue { value: string | number | boolean | null; label: string; path?: ChartPath; labels?: string[]}PivotChartObservation
Section titled “PivotChartObservation”interface ChartObservation { id: string; dimensions: Record<string, ChartDimensionValue>; measures: Record<string, number | null>; displayMeasures?: Record<string, string | null>}PivotChartDistribution (Extended from index.ts)
Section titled “PivotChartDistribution (Extended from index.ts)”Source observations or precomputed statistics for one category/measure pair.
/** Source observations or precomputed statistics for one category/measure pair. */export type ChartDistribution = { categoryId: string; seriesId: string;} & ({ kind: 'samples'; /** Finite source observations, never aggregate matrix values. Empty is allowed. */ samples: number[];} | { kind: 'summary'; count: number; minimum: number; lowerQuartile: number; median: number; upperQuartile: number; maximum: number; lowerWhisker: number; upperWhisker: number; outliers?: number[]; mean?: number; /** Required for violin charts when samples are unavailable. */ density?: Array<{ value: number; density: number; }>;});PivotChartDerivedViews
Section titled “PivotChartDerivedViews”interface ChartDerivedViews { histogram?: ChartHistogramSummary; /** Complete statistics for explicitly bound histogram collections; mutually exclusive with histogram. */ histograms?: ChartHistogramSummary[]; flowAppearance?: ChartFlowAppearance; distributions?: ChartDistribution[]; bins?: ChartJsonValue[]; quantiles?: ChartJsonValue[]; ranges?: ChartJsonValue[]; flowEdges?: ChartJsonValue[]; financial?: ChartJsonValue[]; geographicFeatures?: ChartJsonValue[]}PivotChartAnalyticalFrame
Section titled “PivotChartAnalyticalFrame”interface ChartAnalyticalFrame { /** Complete explicit identity mapping for arbitrary provider observations. */ matrixCells?: Array<{ categoryId: string; seriesId: string; observationId: string; measureFieldId: string; }>; fields: ChartFieldDescriptor[]; observations: ChartObservation[]; hierarchies?: ChartDataset['hierarchies']; derived?: ChartDerivedViews}PivotChartPresentation
Section titled “PivotChartPresentation”interface ChartPresentation { title?: string; /** Plaintext long description, at most 4096 UTF-16 units. Empty clears. */ description?: string; subtitle?: string; legendPosition?: ChartLegendPosition; legendAction?: 'focus' | 'toggleVisibility'; /** Optional labels require definition.interactions.labels. Unsupported true rejects; false or undefined is allowed. */ dataLabels?: boolean; xAxisTitle?: string; yAxisTitle?: string}PivotChartNavigationAction
Section titled “PivotChartNavigationAction”Shared axis contract; additional axes and scale policies extend this shape.
Authored chart-local navigation; source data and Pivot query scope stay unchanged.
/** Shared axis contract; additional axes and scale policies extend this shape. *//** Authored chart-local navigation; source data and Pivot query scope stay unchanged. */export type ChartNavigationAction = 'zoomIn' | 'zoomOut' | 'panLeft' | 'panRight' | 'panUp' | 'panDown' | 'reset';PivotChartNavigationActionState
Section titled “PivotChartNavigationActionState”export type ChartNavigationActionState = 'enabled' | 'disabled' | 'hidden';PivotChartNavigationGestures
Section titled “PivotChartNavigationGestures”interface ChartNavigationGestures { wheel?: boolean; pan?: boolean; pinch?: boolean; /** Shift-drag selects a numeric XY zoom rectangle. Defaults to enabled with navigation. */ rectangle?: boolean}PivotChartNavigation
Section titled “PivotChartNavigation”interface ChartNavigation { /** Financial-only management toolbar; uses existing navigation and authored annotation controls. */ tradingToolbar?: boolean; /** Omitted preserves X-only paths and XY relationship navigation. */ axes?: 'x' | 'y' | 'xy'; /** Selected numeric value axis; defaults to primary. */ yAxis?: string; yLimits?: ChartValueNavigationLimits; /** Alt-drag selects visible source points on the selected X/Y axes; never zooms. */ brush?: boolean; /** X axis controlled by plot gestures, toolbar and navigator. Defaults to primary. */ xAxis?: string; enabled?: boolean; rangeSelector?: { /** IANA zone for calendar arithmetic and date inputs. Omitted: UTC. Viewports remain instants; tick formatting is independent. */ timeZone?: string; presets?: readonly ChartCalendarPreset[]; custom?: boolean; }; /** True uses an accent overview (a full matrix for heatmaps). Heatmap objects support height and basic selectionStyle paint/handle fields. */ navigator?: boolean | { chartType?: 'area' | 'steppedArea' | 'line' | 'smoothLine' | 'steppedLine'; /** Overview plot height in pixels. Defaults to 42, or 96 for heatmaps. */ height?: number; seriesOverrides?: ChartSeriesOverrides; colors?: ChartColors; selectionStyle?: ChartRangeSelectionStyle; /** Defaults to the first visible series. Numeric XY uses Y-series IDs. */ series?: 'all' | readonly string[]; /** False reuses the main chart's series colors. Defaults to true. */ monochrome?: boolean; /** Overrides the default area color (the active UI accent). */ color?: string; }; crosshair?: boolean; tooltipMode?: 'datum' | 'shared'; /** Omitted individual actions default to enabled. The outer navigation record still replaces on update. Disabled and hidden actions cannot activate. */ actions?: Partial<Record<ChartNavigationAction, ChartNavigationActionState>>; /** Plot gestures still require enabled=true. Navigator handles and band remain independent. */ gestures?: ChartNavigationGestures}PivotChartViewport
Section titled “PivotChartViewport”interface ChartViewport { /** Independent numeric windows for secondary and named Y axes. Primary uses y. */ yAxes?: Record<string, ChartNumericViewportRange>; /** Independent windows for named X axes. */ xAxes?: Record<string, ChartAxisRange>; x?: ChartCategoryViewportRange | { scale: 'time'; min: number; max: number; } | ChartNumericViewportRange; /** Primary numeric Y for relationship plots; categorical Y for heatmap rows. Heatmap X references series IDs. */ y?: ChartNumericViewportRange | ChartCategoryViewportRange}PivotChartViewportOrigin
Section titled “PivotChartViewportOrigin”export type ChartViewportOrigin = 'pointer' | 'keyboard' | 'api' | 'calendar';PivotChartInteraction
Section titled “PivotChartInteraction”interface ChartInteraction { mode?: 'drill' | 'select' | 'filter' | 'event'; selectionMode?: 'single' | 'multiple'; crossHighlight?: boolean}PivotChartSelectionMember
Section titled “PivotChartSelectionMember”interface ChartSelectionMember { field: ColumnProp; value: string | number | boolean | null}PivotChartSelectionTarget
Section titled “PivotChartSelectionTarget”interface ChartSelectionTarget { row: ChartSelectionMember[]; column: ChartSelectionMember[]; measure?: ChartMeasureSelection}PivotChartSelection
Section titled “PivotChartSelection”export type ChartSelection = ChartSelectionTarget[];PivotChartSelectionOrigin
Section titled “PivotChartSelectionOrigin”export type ChartSelectionOrigin = 'pointer' | 'keyboard' | 'api' | 'restore';PivotChartValueAxis (Extended from index.ts)
Section titled “PivotChartValueAxis (Extended from index.ts)”interface ChartValueAxis { /** Reverse projection while retaining canonical data order and increasing semantic bounds. */ reverse?: boolean; /** Physical axis line color; defaults to the resolved theme. */ lineColor?: string; /** Tick/category label color; renderer label and element overrides take precedence. */ labelColor?: string; /** Axis title color; defaults to the resolved theme. */ titleColor?: string; scale?: ChartNumericScale; /** Symlog transition constant, positive and finite; defaults to 1. */ constant?: number; min?: number; max?: number; title?: string; unit?: string; tickFormat?: { notation?: 'standard' | 'compact' | 'scientific'; minimumFractionDigits?: number; maximumFractionDigits?: number; }; /** Physical side; horizontal axes support top/bottom, vertical axes left/right. None hides decorations only. */ position?: ChartAxisPosition; /** Desired numeric tick count, bounded to 2..1000. An explicit maximum step can increase it. */ tickCount?: number; /** Exact numeric tick positions; out-of-domain values are not drawn. */ tickValues?: readonly number[]; /** Minimum automatic interval in raw data units. */ tickMinStep?: number; /** Maximum automatic interval; spacing and the 1000-tick safety bound take precedence. */ tickMaxStep?: number; /** Minimum spacing between numeric ticks in drawing pixels. */ tickSpacing?: number}PivotChartSeriesOverrides
Section titled “PivotChartSeriesOverrides”export type ChartSeriesOverrides = Record<string, { type?: 'column' | 'line' | 'area' | 'scatter' | 'rangeArea' | 'bubble' | 'histogram'; bubble?: import('./composition').ChartBubbleLayer; histogram?: import('./composition').ChartHistogramLayer; range?: { low: string; }; errorBars?: ChartErrorBars; /** Primary X alias or an ID from axes.xAxes. Bound range groups use their high measure as the owner. */ xAxis?: string; /** Primary/secondary value aliases or an ID from axes.yAxes. Range low/center fields follow their high owner. */ yAxis?: string; /** Primary or a named axes.polar.valueAxes identity. */ polarAxis?: string; /** Series sharing a stack group accumulate together, independently of other groups. */ stackGroup?: string; /** Overrides the chart-wide accumulation policy for this stack; all authored member policies must agree. */ stackOrder?: ChartStackOrder; /** Baseline policy for this stack partition; authored member policies must agree. */ stackOffset?: ChartStackOffset; zIndex?: number; interpolation?: ChartInterpolation; /** Unstacked area fill baseline. Numeric values participate in the automatic Y domain. */ baseline?: ChartAreaBaseline; /** Connect finite path observations across nulls; explicit calendar gaps remain boundaries. Default false. */ connectNulls?: boolean; /** Keep stepped paths at observation positions instead of extending over category bands. Default false. */ strictStepCurve?: boolean; /** Suppress transient source-point highlighting; regular markers and inspection remain unchanged. Default false. */ disableHighlight?: boolean; color?: string; visible?: boolean; lineDash?: 'solid' | 'dash' | 'dot'; /** Line/area styling, shared by main charts and navigators. */ lineWidth?: number; fillOpacity?: number; markers?: ChartMarkerMode; markerSize?: number; marker?: ChartMarkerShape; /** Stable-ID declarative datum and directed line-segment styles. */ encoding?: import('./encoding').ChartDatumEncoding;}>;PivotChartColorRule
Section titled “PivotChartColorRule”export type ChartColorRule = { operator: 'gt' | 'lt' | 'equal'; value: number; color: string;} | { operator: 'between'; min: number; max: number; color: string;};PivotChartValueMap
Section titled “PivotChartValueMap”export type ChartValueMap = { type: 'continuous'; min?: number; max?: number; colors: [string, string];} | { type: 'diverging'; min?: number; midpoint: number; max?: number; colors: [string, string, string];} | { type: 'conditional'; rules: ChartColorRule[]; fallback?: string;};PivotChartColors
Section titled “PivotChartColors”interface ChartColors { paletteMode?: 'index' | 'semantic'; measures?: Array<{ measure: ChartMeasureSelection; color: string; }>; members?: Array<{ axis: 'row' | 'column'; path: ChartSelectionMember[]; color: string; pattern?: 'solid' | 'diagonal' | 'dots'; }>; valueMap?: ChartValueMap}PivotChartAnnotationCoordinate
Section titled “PivotChartAnnotationCoordinate”Semantic category identities and explicit UTC instants, never display labels.
/** Semantic category identities and explicit UTC instants, never display labels. */export type ChartAnnotationCoordinate = { scale: 'category'; path: ChartSelectionMember[]; measure?: ChartMeasureSelection;} | { scale: 'time'; value: number;};PivotChartXAxisCoordinate
Section titled “PivotChartXAxisCoordinate”Semantic categories or raw values on an explicitly scaled X axis.
/** Semantic categories or raw values on an explicitly scaled X axis. */export type ChartXAxisCoordinate = ChartAnnotationCoordinate | { scale: ChartNumericScale; value: number;};PivotChartReference (Extended from index.ts)
Section titled “PivotChartReference (Extended from index.ts)”export type ChartReference = { id: string; label?: string; color?: string;} & ({ kind: 'line'; axis: 'primary' | 'secondary'; /** A named axis from axes.yAxes. The legacy axis discriminator remains primary/secondary. */ axisId?: string; value: number; lineDash?: 'solid' | 'dash' | 'dot';} | { kind: 'band'; axis: 'primary' | 'secondary'; /** A named axis from axes.yAxes. The legacy axis discriminator remains primary/secondary. */ axisId?: string; min: number; max: number; opacity?: number;} | { kind: 'line'; axis: 'category'; xAxis?: string; at: ChartXAxisCoordinate; lineDash?: 'solid' | 'dash' | 'dot';} | { kind: 'band'; axis: 'category'; xAxis?: string; from: ChartXAxisCoordinate; to: ChartXAxisCoordinate; opacity?: number;});PivotChartNote
Section titled “PivotChartNote”interface ChartNote { id: string; target: ChartSelectionTarget & { measure: ChartMeasureSelection; }; text: string; color?: string; placement?: 'above' | 'below'}PivotChartAnnotations
Section titled “PivotChartAnnotations”interface ChartAnnotations { calculated?: ChartCalculatedReference[]; editable?: boolean; shapes?: ChartAnnotationShape[]; references?: ChartReference[]; notes?: ChartNote[]}PivotChartAxes
Section titled “PivotChartAxes”interface ChartAxes { polar?: ChartPolarAxes; radar?: ChartRadarAxes; /** Heatmap categorical column/row axes, separate from numeric value axes. */ matrix?: ChartMatrixAxes; x?: ChartXAxis; /** Additional X axes; series use xAxis IDs. Primary aliases axes.x. */ xAxes?: Record<string, ChartXAxis>; y?: ChartValueAxis; ySecondary?: ChartValueAxis; /** Additional named value axes for ordinary line/area, combination, bar/column and scatter/bubble/quadrant charts. Primary and secondary are reserved aliases. */ yAxes?: Record<string, ChartValueAxis>}PivotChartMatrixAxis (Extended from index.ts)
Section titled “PivotChartMatrixAxis (Extended from index.ts)”Heatmap categorical direction, physical display and group bands; canonical identities/order stay unchanged.
interface ChartMatrixAxis { /** Inner-to-outer categorical bands; row category paths or column series paths, keyed by stable IDs. */ groups?: ChartCategoryAxisGroup[]}PivotChartMatrixAxes
Section titled “PivotChartMatrixAxes”interface ChartMatrixAxes { columns?: ChartMatrixAxis; rows?: ChartMatrixAxis}PivotChartJsonValue
Section titled “PivotChartJsonValue”export type ChartJsonValue = null | boolean | number | string | ChartJsonValue[] | { [key: string]: ChartJsonValue;};PivotChartBindingChannel
Section titled “PivotChartBindingChannel”export type ChartBindingChannel = 'category' | 'geographic' | 'series' | 'value' | 'x' | 'y' | 'size' | 'color' | 'shape' | 'angle' | 'radius' | 'hierarchy' | 'parent' | 'child' | 'weight' | 'source' | 'target' | 'start' | 'end' | 'low' | 'high' | 'open' | 'close' | 'volume' | 'actual' | 'target' | 'variance' | 'facetRow' | 'facetColumn' | 'label' | 'tooltip';PivotChartBindings
Section titled “PivotChartBindings”Stable analytical field IDs assigned to semantic renderer channels. Empty and omitted channels are equivalent.
/** * Stable analytical field IDs assigned to semantic renderer channels. * Empty and omitted channels are equivalent. */export type ChartBindings = Partial<Record<ChartBindingChannel, string[]>>;PivotChartOptions (Extended from index.ts)
Section titled “PivotChartOptions (Extended from index.ts)”export type ChartTypeOptions = Record<string, ChartJsonValue> & { /** Native grouped columns/bars and scatter accept SVG/batched-SVG/WebGL; heatmap accepts SVG/WebGL. Omission keeps SVG. */ rendererPolicy?: ChartRendererPolicy;};PivotChartDrillAxisState
Section titled “PivotChartDrillAxisState”interface ChartDrillAxisState { path: ChartPath; /** Selected hierarchy level, or `-1` at the hierarchy root. */ levelIndex: number}PivotChartDrillScope
Section titled “PivotChartDrillScope”interface ChartDrillScope { row: ChartDrillAxisState; column: ChartDrillAxisState}PivotChartDrillFrame (Extended from index.ts)
Section titled “PivotChartDrillFrame (Extended from index.ts)”interface ChartDrillFrame { rowLabels: string[]; columnLabels: string[]; row: ChartDrillAxisState; column: ChartDrillAxisState}PivotChartDrillState
Section titled “PivotChartDrillState”interface ChartDrillState { active: ChartDrillScope; /** Ordered root-to-current breadcrumb frames. */ frames: ChartDrillFrame[]; /** Dataset revision that produced the active frame; null until rebound. */ revision: number | null}PivotChartDownloadFormat
Section titled “PivotChartDownloadFormat”export type ChartDownloadFormat = 'png' | 'pdf' | 'svg' | 'csv';PivotChartCsvOptions
Section titled “PivotChartCsvOptions”interface ChartCsvOptions { /** Current visible series/window, or the entire committed semantic frame. */ dataScope?: 'current' | 'all'; valueFormat?: 'raw' | 'formatted'; columnDelimiter?: string; rowDelimiter?: string; bom?: boolean; /** Protect spreadsheet formula-like strings; numeric values are unchanged. */ escapeFormulas?: boolean}PivotChartDownloadCapabilities
Section titled “PivotChartDownloadCapabilities”interface ChartDownloadCapabilities { downloadFormats: readonly ChartDownloadFormat[]; pdfEncoding?: 'raster' | 'vector' | 'custom'}PivotChartDownloadOptions (Extended from index.ts)
Section titled “PivotChartDownloadOptions (Extended from index.ts)”interface ChartDownloadOptions { fileName?: string; width?: number; height?: number; fileFormat?: ChartDownloadFormat; signal?: AbortSignal; /** Current visible series/window, or the entire committed semantic frame. */ dataScope?: 'current' | 'all'; valueFormat?: 'raw' | 'formatted'; columnDelimiter?: string; rowDelimiter?: string; bom?: boolean; /** Protect spreadsheet formula-like strings; numeric values are unchanged. */ escapeFormulas?: boolean}PivotChartImageOptions
Section titled “PivotChartImageOptions”interface ChartImageOptions { width?: number; height?: number; fileFormat?: 'png'; signal?: AbortSignal}PivotChartNodeClick
Section titled “PivotChartNodeClick”interface ChartNodeClick { category: ChartCategory; series: ChartSeries; value: number | null; /** Bound relationship-channel values for scatter/bubble points. */ channelValues?: Partial<Record<'x' | 'y' | 'size', number>>; /** Series descriptors that own relationship-channel values. */ channelSeries?: Partial<Record<'x' | 'y' | 'size', ChartSeries>>; originalEvent?: Event}PivotChartTooltipChannel
Section titled “PivotChartTooltipChannel”export type ChartTooltipChannel = 'x' | 'y' | 'size';PivotChartSharedTooltipItem
Section titled “PivotChartSharedTooltipItem”interface ChartSharedTooltipItem { category: ChartCategory; series: ChartSeries; categoryIndex: number; seriesIndex: number; value: number | null; displayValue: string; color?: string; unit?: string}PivotChartHistogramSummary
Section titled “PivotChartHistogramSummary”Complete source statistics, independent of the loaded raw matrix slice.
interface ChartHistogramSummary { kind: 'histogram'; scope: 'all'; sampleSeriesId: string; valueSeriesId: string; /** Source query hint used for this accepted partition; 0 means source automatic. */ requestedBinCount: number; /** Aggregation requested for the accompanying source Y-domain metadata. */ aggregation: 'count' | 'sum' | 'mean'; boundaries: number[]; /** Common finite normalization for sums; defaults to 1. */ multiplier?: number; bins: Array<{ count: number; sampleMean: number | null; valueCount: number; sum: number; mean: number | null; /** Genuine source member, required for nonempty bins even when not loaded. */ representative?: ChartCategory; }>}PivotChartHistogramSourceRequest
Section titled “PivotChartHistogramSourceRequest”Explicit histogram hints added only to histogram source requests.
interface ChartHistogramSourceRequest { binCount: number; /** Explicit raw edges; when present these override automatic binning. */ boundaries?: number[]; aggregation: 'count' | 'sum' | 'mean'; scale: ChartNumericScale; constant?: number}PivotChartHistogramCollectionSourceRequest (Extended from index.ts)
Section titled “PivotChartHistogramCollectionSourceRequest (Extended from index.ts)”Explicit source partitions for multiple or independently assigned distributions.
interface ChartHistogramCollectionSourceRequest { sampleSeriesId: string; valueSeriesId: string; xAxis: string; yAxis: string; binCount: number; /** Explicit raw edges; when present these override automatic binning. */ boundaries?: number[]; aggregation: 'count' | 'sum' | 'mean'; scale: ChartNumericScale; constant?: number}PivotChartHistogramTooltip
Section titled “PivotChartHistogramTooltip”Computed histogram metric; representative context members retain genuine source provenance.
interface ChartHistogramTooltip { kind: 'histogram'; /** Bound distribution identity, separate from the representative metric measure. */ sampleSeriesId?: string; valueSeriesId?: string; xAxis?: string; yAxis?: string; binIndex: number; start: number; end: number; count: number; sampleMean: number; aggregation: 'count' | 'sum' | 'mean'; /** The conceptual metric is scaledValue * multiplier, including unrepresentable sums. */ scaledValue: number; multiplier: number; /** Plotted raw aggregate per sample unit, present only with histogramArea. */ density?: number}PivotChartHistogramTooltipItem
Section titled “PivotChartHistogramTooltipItem”interface ChartHistogramTooltipItem { category: ChartCategory; series: ChartSeries; value: number | null; displayValue: string; color: string; aggregate: ChartHistogramTooltip}PivotChartTooltipContext
Section titled “PivotChartTooltipContext”interface ChartTooltipContext { /** Aggregate peers on the same logical X axis; representatives need not be loaded cells. */ histogramItems?: readonly ChartHistogramTooltipItem[]; aggregate?: ChartHistogramTooltip; sharedItems?: readonly ChartSharedTooltipItem[]; omittedSharedItemCount?: number; chartId: string; chartType: ChartType; category: ChartCategory; series: ChartSeries; value: number | null; displayValue: string; color: string; drillable: boolean; channelValues?: Partial<Record<ChartTooltipChannel, number>>; channelSeries?: Partial<Record<ChartTooltipChannel, ChartSeries>>; channelDisplayValues?: Partial<Record<ChartTooltipChannel, string>>}PivotChartTooltipRow
Section titled “PivotChartTooltipRow”interface ChartTooltipRow { label: string; value: string; color?: string}PivotChartTooltipContent
Section titled “PivotChartTooltipContent”interface ChartTooltipContent { title?: string; rows?: readonly ChartTooltipRow[]; footer?: string; ariaLabel?: string}PivotChartTooltipResult
Section titled “PivotChartTooltipResult”export type ChartTooltipResult = ChartTooltipContent | string | HTMLElement | null | undefined;PivotChartTooltipFormatter
Section titled “PivotChartTooltipFormatter”export type ChartTooltipFormatter = (context: ChartTooltipContext, defaultContent: ChartTooltipContent) => ChartTooltipResult;PivotChartRenderInput
Section titled “PivotChartRenderInput”interface ChartRenderInput { /** Runtime host ownership; omitted from saved models. */ hostScope?: { host: 'standalone' | 'pivot'; drillScope?: ChartDrillScope; }; onRangeSelectionStart?: (event: ChartRangeSelectionEvent) => void; onRangeSelectionChange?: (event: ChartRangeSelectionEvent) => void; onRangeSelectionEnd?: (event: ChartRangeSelectionEvent) => void | Promise<void>; runtime?: ChartRuntimeState; uiControls?: Partial<Record<string, ChartUiControlState>>; onHoverChange?: (hover: import('../runtime/sync').ChartSyncHover | null) => void; onAnnotationsChange?: (annotations: ChartAnnotations) => void | Promise<void>; onReloadData?: () => void | Promise<void>; chartId: string; container: HTMLElement; chartType: ChartType; dataset: ChartDataset; bindings: ChartBindings; presentation: ChartPresentation; /** Validated chart-specific overrides; omitted keys use catalog defaults. */ navigation?: ChartNavigation; viewport?: ChartViewport; interaction?: ChartInteraction; selection?: ChartSelection; rangeSelection?: ChartRangeSelection; /** OR within each peer source, AND across peer sources; derived, never persisted. */ highlightSelections?: ChartSelection[]; onSelectionClear?: () => void; /** Semantic brush commits bypass node activation/drill-through. */ onSelectionChange?: (selection: ChartSelection, origin: 'pointer' | 'keyboard') => void | Promise<void>; onSeriesVisibilityChange?: (seriesId: string, visible: boolean) => void | Promise<void>; /** Renderer-owned controls request validated, persisted chart option changes. */ onChartOptionsChange?: (options: ChartTypeOptions) => void | Promise<void>; onFacetPageChange?: (page: number) => void | Promise<void>; /** Runtime source-record provider. Never serialized or inferred from aggregates. */ underlyingRecords?: ChartUnderlyingRecordsProvider; onViewportChange?: (viewport: ChartViewport, origin: ChartViewportOrigin) => void | Promise<void>; analysis?: ChartAnalysis; facets?: ChartFacets; bullet?: ChartBullet; axes?: ChartAxes; seriesOverrides?: ChartSeriesOverrides; colors?: ChartColors; annotations?: ChartAnnotations; chartOptions?: ChartTypeOptions; theme: ChartThemeName; localeText: ChartsLocaleText; /** Preview mode renders decorative, non-interactive compact chart marks. */ renderMode?: 'chart' | 'preview'; onNodeClick: (detail: ChartNodeClick) => void}PivotChartRendererCapabilities
Section titled “PivotChartRendererCapabilities”interface ChartRendererCapabilities { /** Omitted preserves legacy catalog behavior; an empty list disables interaction. */ interactionModes?: readonly NonNullable<ChartInteraction['mode']>[]; /** Optional backend-specific intersection of each chart's option keys. */ chartOptionKeys?: readonly ChartOptionKey[]; /** Opt in to the catalog-supported chart-local navigation contract. */ navigation?: boolean; rangeSelection?: boolean; appearance?: boolean; annotations?: boolean; synchronization?: boolean; asyncData?: boolean; analysis?: boolean; underlyingRecords?: boolean; annotationEditing?: boolean; seriesVisibility?: boolean; supportedTypes: readonly ChartType[]; download?: boolean; downloadFormats?: readonly ChartDownloadFormat[]; pdfEncoding?: 'raster' | 'vector' | 'custom'; imageDataUrl?: boolean}PivotChartRenderer
Section titled “PivotChartRenderer”interface ChartRenderer { readonly capabilities: ChartRendererCapabilities; /** Synchronous backend preflight, before renderer or native filter side effects. */ validate?(input: ChartRenderInput): void; create(input: ChartRenderInput): ChartRendererInstance | Promise<ChartRendererInstance>}PivotChartRendererInstance
Section titled “PivotChartRendererInstance”interface ChartRendererInstance { /** Return true when handled by a renderer-owned native category scrollbar. */ scrollTo?(target: ChartScrollTarget): boolean; getControlsMount?(): HTMLElement; updateRuntimeState?(state: ChartRuntimeState): void | Promise<void>; update(input: ChartRenderInput): void | Promise<void>; destroy(): void; focus?(): void; download?(options?: ChartDownloadOptions): Promise<void>; getImageDataURL?(options?: ChartImageOptions): Promise<string>}PivotChartUiControlState
Section titled “PivotChartUiControlState”export type ChartUiControlState = 'enabled' | 'disabled' | 'hidden';DEFAULT_PIVOT_CHART_LIMITS
Section titled “DEFAULT_PIVOT_CHART_LIMITS”DEFAULT_CHART_LIMITS: Readonly<ChartLimits>;PivotChartDataOptions
Section titled “PivotChartDataOptions”interface PivotChartDataOptions { /** Chart-local source query; undefined preserves and an empty object resets. */ query?: PivotAnalyticalQuery; chartType?: PivotChartType; seriesIds?: string[]; /** Measure carried by categories when Pivot values are placed on rows. */ categoryMeasure?: PivotChartMeasureSelection; totals?: PivotChartTotalsMode; limits?: Partial<PivotChartLimits>; bindings?: PivotChartBindings}PivotChartDataScope
Section titled “PivotChartDataScope”interface PivotChartDataScope { rowPath: PivotPath; columnPath?: PivotPath}PivotChartDataQueryOptions (Extended from index.ts)
Section titled “PivotChartDataQueryOptions (Extended from index.ts)”interface PivotChartDataQueryOptions { /** Optional committed semantic scope used for an initial or explicit slice. */ scope?: PivotChartDataScope; /** Chart-local source query; undefined preserves and an empty object resets. */ query?: PivotAnalyticalQuery; chartType?: PivotChartType; seriesIds?: string[]; /** Measure carried by categories when Pivot values are placed on rows. */ categoryMeasure?: PivotChartMeasureSelection; totals?: PivotChartTotalsMode; limits?: Partial<PivotChartLimits>; bindings?: PivotChartBindings}PivotChartInitialScope
Section titled “PivotChartInitialScope”interface PivotChartInitialScope { /** Parent row member whose immediate children form the initial categories. */ rowPath: PivotPath; /** Display labels aligned one-to-one with `rowPath` for breadcrumbs. */ rowLabels: string[]; /** Parent column member whose immediate children form the initial series. */ columnPath?: PivotPath; /** Display labels aligned one-to-one with `columnPath` for breadcrumbs. */ columnLabels?: string[]}PivotChartCreateParams (Extended from index.ts)
Section titled “PivotChartCreateParams (Extended from index.ts)”interface PivotChartCreateParams { underlyingRecords?: boolean | ChartUnderlyingRecordsProvider; container: HTMLElement; linked?: boolean; /** Creation-only semantic scope, persisted as the chart's drill state. */ initialScope?: PivotChartInitialScope; presentation?: PivotChartPresentation; theme?: PivotChartTheme; navigation?: PivotChartNavigation; viewport?: PivotChartViewport; interaction?: PivotChartInteraction; selection?: PivotChartSelection; rangeSelection?: ChartRangeSelection; axes?: PivotChartAxes; seriesOverrides?: PivotChartSeriesOverrides; colors?: PivotChartColors; annotations?: PivotChartAnnotations; analysis?: ChartAnalysis; facets?: ChartFacets; bullet?: ChartBullet; chartOptions?: PivotChartOptions; /** Controls whether drill navigation is local, Pivot-owned, synchronized, or application-owned. */ drillSyncMode?: PivotChartDrillSyncMode; /** Chart-local source query; undefined preserves and an empty object resets. */ query?: PivotAnalyticalQuery; chartType?: PivotChartType; seriesIds?: string[]; /** Measure carried by categories when Pivot values are placed on rows. */ categoryMeasure?: PivotChartMeasureSelection; totals?: PivotChartTotalsMode; limits?: Partial<PivotChartLimits>; bindings?: PivotChartBindings}PivotChartUpdatePatch (Extended from index.ts)
Section titled “PivotChartUpdatePatch (Extended from index.ts)”interface PivotChartUpdatePatch { linked?: boolean; presentation?: Partial<PivotChartPresentation>; theme?: PivotChartTheme; navigation?: PivotChartNavigation; viewport?: PivotChartViewport; interaction?: PivotChartInteraction; selection?: PivotChartSelection; rangeSelection?: ChartRangeSelection; axes?: PivotChartAxes; seriesOverrides?: PivotChartSeriesOverrides; colors?: PivotChartColors; annotations?: PivotChartAnnotations; analysis?: ChartAnalysis; facets?: ChartFacets; bullet?: ChartBullet; chartOptions?: PivotChartOptions; drillSyncMode?: PivotChartDrillSyncMode; /** Chart-local source query; undefined preserves and an empty object resets. */ query?: PivotAnalyticalQuery; chartType?: PivotChartType; seriesIds?: string[]; /** Measure carried by categories when Pivot values are placed on rows. */ categoryMeasure?: PivotChartMeasureSelection; totals?: PivotChartTotalsMode; limits?: Partial<PivotChartLimits>; bindings?: PivotChartBindings}PivotChartModel
Section titled “PivotChartModel”interface PivotChartModel { query?: PivotAnalyticalQuery; version: typeof PIVOT_CHART_MODEL_VERSION; chartId: string; chartType: PivotChartType; linked: boolean; totals: PivotChartTotalsMode; seriesIds?: string[]; categoryMeasure?: PivotChartMeasureSelection; presentation: PivotChartPresentation; theme: PivotChartTheme; /** Captured only for an unlinked chart. */ dataset?: PivotChartDataset; bindings: PivotChartBindings; navigation?: PivotChartNavigation; viewport?: PivotChartViewport; interaction?: PivotChartInteraction; selection?: PivotChartSelection; rangeSelection?: ChartRangeSelection; axes?: PivotChartAxes; seriesOverrides?: PivotChartSeriesOverrides; colors?: PivotChartColors; annotations?: PivotChartAnnotations; analysis?: ChartAnalysis; facets?: ChartFacets; bullet?: ChartBullet; /** Authored budget overrides; omitted keys inherit current plugin limits. */ limits?: Partial<PivotChartLimits>; chartOptions: PivotChartOptions; drill: PivotChartDrillState; drillSyncMode: PivotChartDrillSyncMode}PivotChartRestoreOptions
Section titled “PivotChartRestoreOptions”interface PivotChartRestoreOptions { underlyingRecords?: boolean | ChartUnderlyingRecordsProvider; container: HTMLElement; chartId?: string}PivotChartDownloadEventDetail
Section titled “PivotChartDownloadEventDetail”interface PivotChartDownloadEventDetail { chartId: string; operationId: string; format: PivotChartDownloadFormat; model: PivotChartModel; options: PivotChartDownloadOptions}PivotChartDownloadErrorEventDetail (Extended from index.ts)
Section titled “PivotChartDownloadErrorEventDetail (Extended from index.ts)”interface PivotChartDownloadErrorEventDetail { error: unknown; chartId: string; operationId: string; format: PivotChartDownloadFormat; model: PivotChartModel; options: PivotChartDownloadOptions}PivotChartDataRequest
Section titled “PivotChartDataRequest”interface PivotChartDataRequest { requestId: string; viewId: string; fieldsVersion: string; loadOptions: PivotLoadOptions; uiState?: PivotUiStateHints; axisState: { rowExpandedPaths?: PivotPath[]; columnExpandedPaths?: PivotPath[]; }; chart: { query?: PivotAnalyticalQuery; seriesIds?: string[]; categoryMeasure?: PivotChartMeasureSelection; totals: PivotChartTotalsMode; limits: PivotChartLimits; bindings: PivotChartBindings; scope: PivotChartSemanticScope; }}PivotChartSemanticScope
Section titled “PivotChartSemanticScope”interface PivotChartSemanticScope { /** Committed Pivot revision the provider must echo in its response. */ revision: number; /** Active parent row member. The response contains its immediate children. */ rowPath: PivotPath; /** Active parent column member. Reserved for column-axis drill navigation. */ columnPath: PivotPath; /** Absolute immediate-child row depth requested for this frame. */ rowDepth: number; /** Absolute immediate-child column depth requested for this frame. */ columnDepth: number}PivotChartDataResponse
Section titled “PivotChartDataResponse”interface PivotChartDataResponse { /** Exact normalized query echo, required only for a shaped request. */ query?: PivotAnalyticalQuery; /** Source field identities for flat semantic layouts. */ selectionFields?: PivotChartDataset['selectionFields']; /** Typed source distributions for statistical charts. */ analyticalFrame?: PivotChartAnalyticalFrame; requestId: string; scope: PivotChartSemanticScope; categories: PivotChartCategory[]; series: PivotChartSeries[]; values: Array<Array<number | null>>; displayValues?: Array<Array<string | null>>; hierarchies: { row?: PivotChartHierarchyDefinition; column?: PivotChartHierarchyDefinition; }; totalCategoryCount: number; totalSeriesCount: number}PivotChartViewportDataRequest (Extended from index.ts)
Section titled “PivotChartViewportDataRequest (Extended from index.ts)”Optional windowed server chart request; semantic scope remains Pivot-owned.
interface PivotChartViewportDataRequest { chart: PivotChartDataRequest['chart'] & { purpose: 'detail' | 'overview'; timePolicies?: Record<string, import('@revolist/charts').ChartFinancialSessionPolicy>; viewport: PivotChartViewport; pixelWidth: number; histogram?: PivotChartHistogramSourceRequest; histograms?: PivotChartHistogramCollectionSourceRequest[]; }}PivotChartViewportDataResponse (Extended from index.ts)
Section titled “PivotChartViewportDataResponse (Extended from index.ts)”interface PivotChartViewportDataResponse { purpose: 'detail' | 'overview'; /** Exact echo of the requested numeric/time window; overview requests echo {}. */ viewport: PivotChartViewport; /** Stable full-source domain, independent of the returned window. */ fullDomain: PivotChartViewport; /** Exact normalized query echo, required only for a shaped request. */ query?: PivotAnalyticalQuery; /** Source field identities for flat semantic layouts. */ selectionFields?: PivotChartDataset['selectionFields']; /** Typed source distributions for statistical charts. */ analyticalFrame?: PivotChartAnalyticalFrame; requestId: string; scope: PivotChartSemanticScope; categories: PivotChartCategory[]; series: PivotChartSeries[]; values: Array<Array<number | null>>; displayValues?: Array<Array<string | null>>; hierarchies: { row?: PivotChartHierarchyDefinition; column?: PivotChartHierarchyDefinition; }; totalCategoryCount: number; totalSeriesCount: number}PivotChartDataProvider
Section titled “PivotChartDataProvider”interface PivotChartDataProvider { capabilities?: { query?: boolean; viewport?: boolean }; /** Opt-in windowed loading. Legacy load() continues to require a complete frame. */ loadViewport?( request: PivotChartViewportDataRequest, context: { signal: AbortSignal }, ): Promise<PivotChartViewportDataResponse>; load( request: PivotChartDataRequest, context: { signal: AbortSignal }, ): Promise<PivotChartDataResponse>}PivotChartsConfig
Section titled “PivotChartsConfig”interface PivotChartsConfig { /** Runtime-only hooks for downloads and image data URLs; native events remain supported. */ exportHooks?: import('@revolist/charts').ChartExportHooks; renderer?: PivotChartRenderer; dataProvider?: PivotChartDataProvider; defaultChartType?: PivotChartType; defaultTotals?: PivotChartTotalsMode; limits?: Partial<PivotChartLimits>; localeText?: PivotChartsLocaleTextOptions; defaultDrillSyncMode?: PivotChartDrillSyncMode; /** * Optional application adapter for Pivot synchronization. When omitted, * the active Pivot plugin applies the semantic frontier directly. */ synchronizeDrill?: ( detail: PivotChartDrillSyncEventDetail, context: { signal: AbortSignal }, ) => void | Promise<void>}PivotChartDataGridConfig
Section titled “PivotChartDataGridConfig”Native data-grid configuration; current-frame source and readonly ownership stay internal.
interface PivotChartDataGridConfig { /** Native grouped headers from the semantic column path. Defaults to true. */ columnGrouping?: boolean; /** Override a localized group name; level is the zero-based column-path index. */ groupLabel?: ( label: string, series: PivotChartSeries, level: number, ) => string; sorting?: boolean; range?: boolean; resize?: boolean; canFocus?: boolean; useClipboard?: HTMLRevoGridElement['useClipboard']; /** Pro filtering is enabled by default. Native filter configuration includes localization. */ filter?: HTMLRevoGridElement['filter']; rowSize?: number; columnSize?: number; theme?: HTMLRevoGridElement['theme']; categoryColumn?: Pick< ColumnRegular, 'name' | 'size' | 'minSize' | 'maxSize' | 'sortable' | 'filter' | 'pin' >; seriesColumn?: ( series: PivotChartSeries, index: number, ) => | Pick< ColumnRegular, 'name' | 'size' | 'minSize' | 'maxSize' | 'sortable' | 'filter' | 'pin' > | undefined}PivotChartsUiConfig
Section titled “PivotChartsUiConfig”interface PivotChartsUiConfig { /** Label, description, option and formatter overrides, merged over pivotCharts.localeText. */ localeText?: PivotChartsLocaleTextOptions; /** Stable source IDs. Prefixes configure groups; dropdown choices use <controlId>.options.<value>. Parent restrictions win. Chart link controls are hidden by default; explicitly set `actions.linkCharts` to `enabled` (or `disabled`) to show them. */ controls?: Readonly< Partial< Record< import('@revolist/charts/internal/renderer/ui-controls').ChartUiControlId, PivotChartUiControlState > > >; dataGrid?: PivotChartDataGridConfig; contextMenu?: boolean; dialogParent?: HTMLElement}PivotChartRef (Extended from index.ts)
Section titled “PivotChartRef (Extended from index.ts)”interface PivotChartRef { /** Runtime-only source; source functions and chart links are never persisted. */ setDataSource(source?: ChartDataSource): Promise<void>; reloadData(): Promise<void>; readonly id: string; readonly container: HTMLElement; readonly model: PivotChartModel; update(patch: PivotChartUpdatePatch): Promise<void>; canDrillDown(target: PivotChartDrillTarget | PivotChartCategory): boolean; drillDown(target: PivotChartDrillTarget | PivotChartCategory): Promise<void>; drillUp(): Promise<void>; drillTo(frameIndex: number): Promise<void>; resetDrill(): Promise<void>; retryDrill(): Promise<void>; getDrillState(): PivotChartDrillState; setSelection(selection: PivotChartSelection): Promise<void>; clearSelection(): Promise<void>; /** Set a range and enable its control, retaining authored styling. */ setRangeSelection(range: ChartAxisRange | null): Promise<void>; /** Clear a range while retaining the control and styling. */ clearRangeSelection(): Promise<void>; focus(): void; destroy(): void; getSyncSnapshot(): ChartSyncSnapshot; subscribeEvents(listener: (event: ChartSyncEvent) => void): () => void; applyViewport(viewport: ChartViewport, transaction: ChartSyncTransaction): void | Promise<void>; /** Replaces only transient peer state. An empty object restores authored domains and clears peer hover. */ applySyncState(state: ChartSyncState, transaction: ChartSyncTransaction): void | Promise<void>}PivotChartDrillTarget
Section titled “PivotChartDrillTarget”export type PivotChartDrillTarget = | { axis: 'row'; category: PivotChartCategory } | { axis: 'column'; series: PivotChartSeries } | { axis: 'both'; category: PivotChartCategory; series: PivotChartSeries; };PivotChartDrillAction
Section titled “PivotChartDrillAction”export type PivotChartDrillAction = 'down' | 'up' | 'to' | 'reset' | 'retry';PivotChartDrillEventDetail
Section titled “PivotChartDrillEventDetail”interface PivotChartDrillEventDetail { chartId: string; action: PivotChartDrillAction; from: PivotChartDrillState; to: PivotChartDrillState}PivotChartDrilledEventDetail (Extended from index.ts)
Section titled “PivotChartDrilledEventDetail (Extended from index.ts)”interface PivotChartDrilledEventDetail { model: PivotChartModel; dataset: PivotChartDataset; chartId: string; action: PivotChartDrillAction; from: PivotChartDrillState; to: PivotChartDrillState}PivotChartDrillErrorEventDetail (Extended from index.ts)
Section titled “PivotChartDrillErrorEventDetail (Extended from index.ts)”interface PivotChartDrillErrorEventDetail { error: Error; chartId: string; action: PivotChartDrillAction; from: PivotChartDrillState; to: PivotChartDrillState}PivotChartDrillSyncEventDetail (Extended from index.ts)
Section titled “PivotChartDrillSyncEventDetail (Extended from index.ts)”interface PivotChartDrillSyncEventDetail { mode: Exclude<PivotChartDrillSyncMode, 'chart'>; chartId: string; action: PivotChartDrillAction; from: PivotChartDrillState; to: PivotChartDrillState}PivotChartCreatedEventDetail
Section titled “PivotChartCreatedEventDetail”interface PivotChartCreatedEventDetail { chartId: string; ref: PivotChartRef}PivotChartUpdatedEventDetail
Section titled “PivotChartUpdatedEventDetail”interface PivotChartUpdatedEventDetail { chartId: string; reason: PivotChartUpdateReason; model: PivotChartModel}PivotChartDestroyedEventDetail
Section titled “PivotChartDestroyedEventDetail”interface PivotChartDestroyedEventDetail { chartId: string}PivotChartSelectionEventDetail
Section titled “PivotChartSelectionEventDetail”interface PivotChartSelectionEventDetail { chartId: string; operationId: string; revision: number; origin: PivotChartSelectionOrigin; mode: NonNullable<PivotChartInteraction['mode']>; proposed: PivotChartSelection; current: PivotChartSelection}PivotChartSelectionErrorEventDetail (Extended from index.ts)
Section titled “PivotChartSelectionErrorEventDetail (Extended from index.ts)”interface PivotChartSelectionErrorEventDetail { error: Error; chartId: string; operationId: string; revision: number; origin: PivotChartSelectionOrigin; mode: NonNullable<PivotChartInteraction['mode']>; proposed: PivotChartSelection; current: PivotChartSelection}PivotChartNodeClickEventDetail (Extended from index.ts)
Section titled “PivotChartNodeClickEventDetail (Extended from index.ts)”interface PivotChartNodeClickEventDetail { chartId: string; categoryPath: PivotPath; columnPath: PivotPath; measure?: ColumnProp; aggregator?: string; category: ChartCategory; series: ChartSeries; value: number | null; /** Bound relationship-channel values for scatter/bubble points. */ channelValues?: Partial<Record<'x' | 'y' | 'size', number>>; /** Series descriptors that own relationship-channel values. */ channelSeries?: Partial<Record<'x' | 'y' | 'size', ChartSeries>>; originalEvent?: Event}PivotChartErrorEventDetail
Section titled “PivotChartErrorEventDetail”interface PivotChartErrorEventDetail { chartId?: string; error: Error}PivotChartProjectorContext
Section titled “PivotChartProjectorContext”interface PivotChartProjectorContext { /** Visible logical body rows after grouping, filtering, and sorting. */ visibleRows: DataType[]; /** Grid column types used to preserve measure display formatting. */ columnTypes?: ColumnTypes; localeText?: PivotChartsLocaleText}PivotAnalyticalQuery
Section titled “PivotAnalyticalQuery”interface PivotAnalyticalQuery { slice?: { rows?: ColumnProp[]; columns?: ColumnProp[]; measures?: PivotAnalyticalMeasureSelection[]; }; filters?: PivotFilterSelectionMap; sort?: PivotAnalyticalSort; topBottom?: { direction: 'top' | 'bottom'; count: number; measure: PivotAnalyticalMeasureSelection; otherLabel?: string; }}PivotChartStackOffset
Section titled “PivotChartStackOffset”export type ChartStackOffset = 'diverging' | 'none' | 'expand';PivotChartStackOrder
Section titled “PivotChartStackOrder”export type ChartStackOrder = 'none' | 'reverse' | 'ascending' | 'descending' | 'appearance';PivotChartInterpolation
Section titled “PivotChartInterpolation”Screen-coordinate interpolation between retained observations. Smooth preserves the legacy monotone-X curve.
/** Screen-coordinate interpolation between retained observations. Smooth preserves the legacy monotone-X curve. */export type ChartInterpolation = 'linear' | 'smooth' | 'step' | 'stepBefore' | 'stepAfter' | 'monotoneX' | 'monotoneY' | 'natural' | 'catmullRom' | 'bumpX' | 'bumpY';PivotChartAreaBaseline
Section titled “PivotChartAreaBaseline”export type ChartAreaBaseline = number | 'min' | 'max';PivotChartMarkerShape
Section titled “PivotChartMarkerShape”export type ChartMarkerShape = 'circle' | 'square' | 'diamond' | 'triangle' | 'cross' | 'star' | 'wye';PivotChartMarkerMode
Section titled “PivotChartMarkerMode”export type ChartMarkerMode = boolean | 'start' | 'end';PivotChartSampling
Section titled “PivotChartSampling”Path reduction policy for native line/area and combination charts.
/** Path reduction policy for native line/area and combination charts. */export type ChartSampling = 'auto' | 'none' | 'm4' | 'minmax' | 'lttb';PivotChartCategoryPlacement
Section titled “PivotChartCategoryPlacement”export type ChartCategoryPlacement = 'point' | 'band';isPivotChartType
Section titled “isPivotChartType”export function isPivotChartType(value: unknown): value is PivotChartType;validatePivotChartDataResponse
Section titled “validatePivotChartDataResponse”export function validatePivotChartDataResponse( response: PivotChartDataResponse, request: PivotChartDataRequest, limits: PivotChartLimits,): PivotChartDataset;validatePivotChartModel
Section titled “validatePivotChartModel”export function validatePivotChartModel(model: unknown): PivotChartModel;resolvePivotChartLimits
Section titled “resolvePivotChartLimits”Direct callers retain the established RangeError contract for invalid limits.
export declare function resolveChartLimits(limits?: Partial<ChartLimits>, chartType?: ChartType): ChartLimits;;assertPivotChartLimits
Section titled “assertPivotChartLimits”export declare function assertChartLimits(dataset: Pick<ChartDataset, 'categories' | 'series'> & Partial<Pick<ChartDataset, 'analyticalFrame'>>, limits: ChartLimits): void;;selectPivotChartSeries
Section titled “selectPivotChartSeries”export declare function selectChartSeries(series: ChartSeries[], seriesIds?: readonly string[]): ChartSeries[];;assertPivotChartTypeShape
Section titled “assertPivotChartTypeShape”export declare function assertChartTypeShape(chartType: ChartType, dataset: ChartDataset, localeText?: ChartsLocaleText, bindings?: ChartBindings, configuration?: Pick<import('../contracts/types').ChartRenderInput, 'axes' | 'chartOptions'>): void;;assertRelationshipChartBindings
Section titled “assertRelationshipChartBindings”export declare function assertRelationshipChartBindings(chartType: ChartType, dataset: ChartDataset, bindings: ChartBindings, localeText?: ChartsLocaleText): void;;assertPivotChartDataset
Section titled “assertPivotChartDataset”export declare function assertChartDataset(dataset: ChartDataset): void;;PivotChartsPlugin
Section titled “PivotChartsPlugin”Headless Enterprise plugin for creating and managing charts from the active Pivot result.
The plugin owns chart data projection, renderer lifecycle, linked refreshes,
semantic drill-down, persistence, and export. It does not create the chart
dialog; add PivotChartsUiPlugin when the standard modeless chart UI
and Pivot context-menu action are required.
Configure the renderer through grid.pivotCharts before creating a chart.
Public methods can be called on the installed plugin instance returned by
grid.getPlugins(). A PivotChartRef offers the same common lifecycle
operations scoped to one chart.
PivotPlugin is required. Linked charts read committed Pivot
snapshots and refresh after Pivot data, filter, sorting, grouping, source,
and grid-theme changes. Unlinked charts retain a serializable dataset in
their model and do not follow later Pivot changes.
Example: Create a linked chart with the built-in renderer.
import { PivotChartsPlugin, PivotPlugin, createPivotChartsRenderer, mountPivotChart,} from '@revolist/pivot';
const grid = document.querySelector('revo-grid')!;grid.plugins = [PivotPlugin, PivotChartsPlugin];grid.pivotCharts = { renderer: createPivotChartsRenderer(), defaultChartType: 'groupedColumn',};
const chart = await mountPivotChart(grid, { container: document.querySelector<HTMLElement>('#sales-chart')!, presentation: { title: 'Sales by region' },});
await chart.update({ chartType: 'stackedColumn' });Dependencies
Section titled “Dependencies”- Required
PivotPlugin: Consumes committed Pivot runtime snapshots and semantic result metadata. - Event integration
PIVOT_MODEL_CHANGED_EVENT,afterfilterapply,aftersortingapply,groupexpandclick,aftersourceset,afterthemechanged: Keeps linked charts synchronized with the logical Pivot view. - Config integration
grid.pivotCharts: Reads the renderer, complete-data provider, defaults, and safety limits.
class PivotChartsPlugin { /** * Projects the current committed Pivot result into a renderer-neutral chart * dataset. * * Use this method for custom chart pickers, data previews, compatibility * checks, or application renderers. The returned dataset is an immutable * cached snapshot; request a new dataset after the Pivot revision changes. * `scope` selects a semantic row/column parent and returns its immediate * children, which is useful for opening a chart around a Pivot cell. * * @param options - Series, totals, bindings, limits, chart compatibility, and * optional semantic scope for the projection. * @returns A validated chart dataset for the active Pivot revision. * @throws {@link PivotChartError} When Pivot data is unavailable, a provider * response is invalid, safety limits are exceeded, or `chartType` is * incompatible with the projected fields. * * @example Read a scoped dataset before presenting chart choices. * ```ts * const dataset = await charts.getChartData({ * chartType: 'groupedColumn', * totals: 'none', * scope: { * rowPath: ['Canada'], * columnPath: [2024], * }, * }); * * console.log(dataset.categories, dataset.series, dataset.values); * ``` */ async getChartData( options: PivotChartDataQueryOptions = {}, ): Promise<PivotChartDataset>;
/** Current exact source-query support; ordinary unshaped charts remain available. */ getDataShapingCapabilities(): { supported: boolean; reasons: string[] };
/** Measures whose original client records can supply lazy statistical charts. */ getSourceDistributionSeriesIds( dataset: PivotChartDataset, ): readonly string[];
/** * Creates a chart in an application-owned container. * * By default the chart is linked to the active Pivot, excludes totals, and * uses the configured default chart type. Set `linked: false` to capture the * initial projected dataset as a standalone chart that ignores later Pivot * changes. Use `initialScope` to start at a semantic hierarchy level while * preserving breadcrumb and drill state. * * @param params - Container, chart type, data selection, presentation, * bindings, theme, drill mode, and chart-specific options. * @returns A chart reference for updates, drill navigation, focus, and * destruction. * @throws {TypeError} When `params.container` is not an `HTMLElement`. * @throws {@link PivotChartError} When no renderer is configured, the chart * type is unsupported, the data is incompatible, or the requested chart ID * conflicts with an active or pending chart. * * @example Create a linked chart at a row hierarchy scope. * ```ts * const chart = await charts.createChart({ * container: document.querySelector<HTMLElement>('#chart')!, * chartType: 'line', * initialScope: { * rowPath: ['Europe'], * rowLabels: ['Europe'], * }, * presentation: { * title: 'European performance', * legendPosition: 'bottom', * }, * }); * ``` */ async createChart(params: PivotChartCreateParams): Promise<PivotChartRef>;
/** Create a sorted, unlinked analytical snapshot with a full cumulative denominator. */ async createParetoChart( params: Omit<PivotChartCreateParams, 'chartType' | 'linked'> & { pareto: ChartParetoOptions; }, ): Promise<PivotChartRef>;
/** * Applies a validated partial update to an existing chart. * * Renderer updates are serialized so overlapping calls cannot overwrite one * another. Changes to totals, series, bindings, or linked state reload chart * data; presentation, theme, and chart options update the existing renderer * instance when possible. * * @param chartId - ID returned by {@link createChart} or {@link restoreChart}. * @param patch - Chart type, data selection, presentation, theme, bindings, * drill mode, or chart-specific options to change. * @returns A promise that resolves after the renderer and stored model agree. * @throws {@link PivotChartError} When the chart does not exist, the patch is * invalid, relinking fails, or the resulting data is incompatible. * * @example Change the visualization without recreating its container. * ```ts * await charts.updateChart(chart.id, { * chartType: 'stackedBar', * presentation: { * title: 'Sales contribution', * dataLabels: true, * }, * }); * ``` */ async updateChart( chartId: string, patch: PivotChartUpdatePatch, ): Promise<void>;
/** Replace semantic selection; targets are owned before entering the update queue. */ async setChartSelection(chartId: string, selection: PivotChartSelection): Promise<void>;
async clearChartSelection(chartId: string): Promise<void>;
/** Enable and replace the axis range, retaining current authored styling. */ async setChartRangeSelection(chartId: string, range: ChartAxisRange | null): Promise<void>;
/** Clear the range while retaining its enabled state and styling. */ async clearChartRangeSelection(chartId: string): Promise<void>;
/** Request a user clear; application-event mode keeps the committed selection until an explicit API commit. */ async requestChartSelectionClear(chartId: string, origin: PivotChartSelectionOrigin = 'api'): Promise<void>;
/** * Retries the current chart data/render operation without changing options. * UI integrations use this after a transient provider or renderer failure. * * @param chartId - ID of the chart to reload. * @returns A promise that resolves after data and rendering are current. * @throws {@link PivotChartError} When the chart does not exist or the retry * fails. Aborted superseded refreshes resolve without changing the chart. * * @example Retry after showing an application-level error state. * ```ts * try { * await charts.refreshChart(chart.id); * } catch (error) { * console.error('Chart refresh failed', error); * } * ``` */ async refreshChart(chartId: string): Promise<void>;
/** * Reports whether a category or explicit semantic target can navigate to a * deeper hierarchy level in the current chart frame. * * The result is `false` for unlinked charts, non-drillable chart types, * targets outside the current dataset, and leaf members. * * @param chartId - ID of the chart to inspect. * @param input - A category for row drill-down or an explicit row, column, or * two-axis drill target. * @returns `true` when {@link drillDownChart} can navigate the target. * @throws {@link PivotChartError} When the chart does not exist. * * @example Enable a custom drill action only for expandable marks. * ```ts * const category = dataset.categories[0]; * if (category && charts.canDrillDown(chart.id, category)) { * await charts.drillDownChart(chart.id, category); * } * ``` */ canDrillDown( chartId: string, input: PivotChartDrillTarget | PivotChartCategory, ): boolean;
/** * Navigates a linked chart into the children of a row, column, or combined * hierarchy target. * * Drill behavior follows the chart's `drillSyncMode`: chart-local, Pivot-only, * synchronized chart and Pivot, or application-event mode. The operation is * cancellable through `pivot-chart-before-drill`. * * @param chartId - ID of the chart to navigate. * @param input - Category or explicit semantic target selected by the user. * @returns A promise that resolves after synchronization, data loading, and * rendering complete. * @throws {@link PivotChartError} When the chart is missing, the target is not * drillable, synchronization is unavailable, or scoped data loading fails. * * @example Drill both chart axes from a relationship-chart point. * ```ts * await charts.drillDownChart(chart.id, { * axis: 'both', * category: selectedCategory, * series: selectedSeries, * }); * ``` */ async drillDownChart( chartId: string, input: PivotChartDrillTarget | PivotChartCategory, ): Promise<void>;
/** * Navigates a chart to the parent of its current drill frame. * * Calling this method at the root is a no-op and cancels pending drill work. * * @param chartId - ID of the chart to navigate. * @returns A promise that resolves after the parent frame is rendered. * @throws {@link PivotChartError} When the chart does not exist or parent * synchronization/data loading fails. * * @example * ```ts * await charts.drillUpChart(chart.id); * ``` */ async drillUpChart(chartId: string): Promise<void>;
/** * Navigates directly to an existing breadcrumb frame. * * Frame indexes use the root-to-current order returned by * `chart.getDrillState().frames`; index `0` is the root. Selecting the current * frame is a no-op. * * @param chartId - ID of the chart to navigate. * @param frameIndex - Zero-based breadcrumb frame index. * @returns A promise that resolves after the selected frame is rendered. * @throws {@link PivotChartError} When the chart is missing, the frame index * is invalid, or synchronization/data loading fails. * * @example Return to the first drilled level. * ```ts * await charts.drillToChart(chart.id, 1); * ``` */ async drillToChart(chartId: string, frameIndex: number): Promise<void>;
/** * Returns a drilled chart to its root semantic scope. * * Calling this method at the root is a no-op and cancels pending drill work. * * @param chartId - ID of the chart to reset. * @returns A promise that resolves after the root frame is rendered. * @throws {@link PivotChartError} When the chart does not exist or reset * synchronization/data loading fails. * * @example * ```ts * await charts.resetChartDrill(chart.id); * ``` */ async resetChartDrill(chartId: string): Promise<void>;
/** * Retries the last failed drill operation for a chart. * * If no failed drill state exists, this method falls back to * {@link refreshChart} without changing the current frame. * * @param chartId - ID of the chart whose drill should be retried. * @returns A promise that resolves after retry or refresh completes. * @throws {@link PivotChartError} When the chart does not exist or the retry * fails again. * * @example * ```ts * grid.addEventListener('pivot-chart-drill-error', async event => { * await charts.retryChartDrill(event.detail.chartId); * }); * ``` */ async retryChartDrill(chartId: string): Promise<void>;
/** * Destroys one chart and releases its renderer and pending drill resources. * * Unknown chart IDs are ignored. The chart's application-owned container is * not removed. * * @param chartId - ID of the chart to destroy. * * @example * ```ts * charts.destroyChart(chart.id); * ``` */ destroyChart(chartId: string): void;
/** * Destroys every chart owned by this plugin instance. * * Pending creations are invalidated before and after destruction so * re-entrant lifecycle handlers cannot leave an untracked chart behind. * * @example * ```ts * charts.destroyAllCharts(); * ``` */ destroyAllCharts(): void;
/** * Returns defensive copies of all active chart models. * * Persist these models to restore linked chart configuration or complete * unlinked chart snapshots later. Mutating the returned objects does not * change active charts. * * @returns Serializable chart models in creation order. * * @example Save chart state. * ```ts * localStorage.setItem( * 'pivot-charts', * JSON.stringify(charts.getChartModels()), * ); * ``` */ getChartModels(): PivotChartModel[];
/** * Restores a validated chart model into a new container. * * Linked models reload the current Pivot data and retain the deepest valid * drill ancestor. Unlinked models render their captured dataset. Pass * `options.chartId` to override the persisted ID when restoring multiple * copies of the same model. * * @param model - Previously persisted chart model. * @param options - Destination container and optional replacement chart ID. * @returns A new chart reference managed by this plugin. * @throws {@link PivotChartError} When the model is invalid, its chart ID is * already active or pending, or current data cannot satisfy the model. * * @example Restore persisted charts into application containers. * ```ts * const [saved] = JSON.parse( * localStorage.getItem('pivot-charts') ?? '[]', * ); * * if (saved) { * await charts.restoreChart(saved, { * container: document.querySelector<HTMLElement>('#restored-chart')!, * }); * } * ``` */ async restoreChart( model: PivotChartModel, options: PivotChartRestoreOptions, ): Promise<PivotChartRef>;
/** The immutable factory, validator and capabilities captured when this chart was created. */ getChartRenderer(chartId: string): PivotChartRenderer;
getChartRendererCapabilities(chartId: string): PivotChartRendererCapabilities;
/** Creation-time image capabilities, plus backend-independent chart CSV. */ getChartDownloadCapabilities(chartId: string): PivotChartDownloadCapabilities;
/** Encode committed chart cells without querying Pivot or starting a download. */ getChartCSV(chartId: string, options: PivotChartCsvOptions = {}): string;
/** * Downloads a rendered chart through the configured renderer. * * CSV is available independently of the image backend. The built-in renderer supports PNG, SVG and PDF. Custom renderers advertise * their formats through `capabilities.downloadFormats`. * * @param chartId - ID of the chart to export. * @param options - File name, dimensions, and output format. * @returns A promise that resolves after the renderer starts or completes the * download. * @throws {@link PivotChartError} When the chart is missing or the renderer * does not support downloads or the requested format. * * @example Export the current chart as PDF. * ```ts * await charts.downloadChart(chart.id, { * fileName: 'quarterly-sales', * fileFormat: 'pdf', * width: 1600, * height: 900, * }); * ``` */ async downloadChart( chartId: string, options: PivotChartDownloadOptions = {}, ): Promise<void>;
/** * Encodes a chart as an image data URL without triggering a download. * * Use this for application previews, reports, clipboard workflows, or custom * persistence. Renderer support is optional and declared by * `capabilities.imageDataUrl`. * * @param chartId - ID of the chart to encode. * @param options - Optional output width, height, and PNG format. * @returns A PNG data URL generated by the renderer. * @throws {@link PivotChartError} When the chart is missing or its renderer * cannot create image data URLs. * * @example Show a chart image in an application-owned preview. * ```ts * const image = document.querySelector<HTMLImageElement>('#chart-preview')!; * image.src = await charts.getChartImageDataURL(chart.id, { * width: 1200, * height: 675, * }); * ``` */ async getChartImageDataURL( chartId: string, options?: PivotChartImageOptions, ): Promise<string>;
/** Runtime dashboard membership is re-established explicitly after restoration. */ linkCharts( chartId: string, targetIds: readonly string[], options: ChartSyncGroupOptions = {}, );
unlinkCharts(chartId: string);}createPivotChartsRenderer
Section titled “createPivotChartsRenderer”export function createPivotChartsRenderer( options: PivotChartsRendererOptions = {},);PivotChartPolarAxisPlacementContext
Section titled “PivotChartPolarAxisPlacementContext”Per-axis furniture placement, once per paint after measured gutter allocation.
interface ChartPolarAxisPlacementContext { readonly chartId: string; readonly chartType: ChartType; readonly axisId: string; readonly coordinate: 'radius' | 'angle'; readonly index: number; readonly count: number; readonly suggestedOffset: number; readonly maxOffset: number; readonly bounds: Readonly<ChartBounds>}PivotChartPolarAxisPlacement
Section titled “PivotChartPolarAxisPlacement”interface ChartPolarAxisPlacement { /** Pixels along the radial-axis normal, or outward from an angular axis. */ offset?: number; /** Hides furniture only; numeric domains, marks and grids remain authoritative. */ visible?: boolean}PivotChartPolarAxisPlacementCallback
Section titled “PivotChartPolarAxisPlacementCallback”export type ChartPolarAxisPlacementCallback = (context: ChartPolarAxisPlacementContext) => ChartPolarAxisPlacement | undefined;PivotChartPolarAxisTickContext
Section titled “PivotChartPolarAxisTickContext”One numeric polar tick candidate, before runtime selection. Never a source-row index.
interface ChartPolarAxisTickContext { readonly axisId: string; readonly chartId: string; readonly chartType: ChartType; readonly coordinate: 'radius' | 'angle'; readonly index: number; readonly count: number; /** Raw axis units (percent for normalized columns), or null for an overflowing total. */ readonly value: number | null; readonly scaledValue: number; readonly tickMultiplier: number; /** Projected fraction in the numeric domain, including numeric reversal. */ readonly fraction: number}PivotChartPolarAxisTickPredicate
Section titled “PivotChartPolarAxisTickPredicate”export type ChartPolarAxisTickPredicate = (tick: ChartPolarAxisTickContext) => boolean;PivotChartPolarAxisRendererOptions
Section titled “PivotChartPolarAxisRendererOptions”interface ChartPolarAxisRendererOptions { /** Runtime only; finite offset must be within context.maxOffset in either direction. */ placement?: ChartPolarAxisPlacementCallback; /** Select grid lines, short ticks and their labels without changing the data scale. */ tickFilter?: ChartPolarAxisTickPredicate; /** Further select numeric text; ticks/grid/title are unchanged. */ tickLabelFilter?: ChartPolarAxisTickPredicate}PivotChartCategoryAxisRuntimeGroup (Extended from index.ts)
Section titled “PivotChartCategoryAxisRuntimeGroup (Extended from index.ts)”interface ChartCategoryAxisRuntimeGroup { getValue?: (category: Readonly<ChartCategory>, categoryIndex: number) => string | number | boolean | null | { value: string | number | boolean | null; label: string; }; /** Zero-based category path level. Omitted uses the final path member. */ level?: number; /** Stable category-ID lookup; missing IDs fall back to the selected path level. */ values?: Record<string, string | number | boolean | null>; /** Band thickness in SVG pixels. Defaults to 32 horizontally and 80 vertically; bounded to fit. */ size?: number; tickSize?: number; labelColor?: string; lineColor?: string}PivotChartSeriesAxisRuntimeGroup (Extended from index.ts)
Section titled “PivotChartSeriesAxisRuntimeGroup (Extended from index.ts)”Runtime grouping receives genuine column series metadata and canonical series indexes.
interface ChartSeriesAxisRuntimeGroup { getValue?: (series: Readonly<ChartSeries>, seriesIndex: number) => ReturnType<NonNullable<ChartCategoryAxisRuntimeGroup['getValue']>>; /** Zero-based category path level. Omitted uses the final path member. */ level?: number; /** Stable category-ID lookup; missing IDs fall back to the selected path level. */ values?: Record<string, string | number | boolean | null>; /** Band thickness in SVG pixels. Defaults to 32 horizontally and 80 vertically; bounded to fit. */ size?: number; tickSize?: number; labelColor?: string; lineColor?: string}PivotChartMarkerContext
Section titled “PivotChartMarkerContext”Runtime-only source marker selection. Preview descriptors/values belong to the preview frame.
interface ChartMarkerContext { readonly chartId: string; readonly chartType: ChartType; readonly renderMode: 'chart' | 'preview'; readonly categoryIndex: number; readonly seriesIndex: number; readonly category: MarkerReadonly<ChartCategory>; readonly series: MarkerReadonly<ChartSeries>; readonly value: number; readonly xAxisId: string; readonly yAxisId: string; readonly point: Readonly<{ x: number; y: number; }>}PivotChartMarkerPredicate
Section titled “PivotChartMarkerPredicate”export type ChartMarkerPredicate = (context: ChartMarkerContext) => boolean;PivotChartMarkersRendererOptions
Section titled “PivotChartMarkersRendererOptions”interface ChartMarkersRendererOptions { /** Select visible source glyph candidates before bounded marker sampling. Does not filter paths or data. */ isVisible?: ChartMarkerPredicate}PivotChartSankeyRendererOptions
Section titled “PivotChartSankeyRendererOptions”Runtime callbacks use canonical graph descriptors; they are never serialized.
interface ChartSankeyRendererOptions { nodeSort?: (a: Readonly<ChartFlowNode>, b: Readonly<ChartFlowNode>) => number; linkSort?: (a: Readonly<ChartFlowEdge>, b: Readonly<ChartFlowEdge>) => number; nodeColor?: string | ((node: Readonly<ChartFlowNode>) => string | undefined); linkColor?: string | ((link: Readonly<ChartFlowEdge>) => string | undefined); valueFormatter?: (value: number, context: { location: 'tooltip' | 'label'; item: Readonly<ChartFlowNode> | Readonly<ChartFlowEdge>; kind: 'node' | 'link'; }) => string; onNodeClick?: (detail: { node: Readonly<ChartFlowNode>; originalEvent: Event; }) => void; onLinkClick?: (detail: { link: Readonly<ChartFlowEdge>; originalEvent: Event; }) => void; onHighlightChange?: (item: ChartSankeyItemIdentifier | null) => void}PivotChartPieRendererOptions
Section titled “PivotChartPieRendererOptions”interface ChartPieRendererOptions { /** Requested source item from pointer/focus; controlled highlight painting does not change these notifications. */ onHighlightChange?: (item: Readonly<ChartPieItemIdentifier> | null) => void}PivotChartSankeyNode
Section titled “PivotChartSankeyNode”export type ChartSankeyNode = Readonly<ChartFlowNode>;PivotChartSankeyLink
Section titled “PivotChartSankeyLink”export type ChartSankeyLink = Readonly<ChartFlowEdge>;ChartTheme
Section titled “ChartTheme”interface ChartTheme { background: string; foreground: string; muted: string; grid: string}PivotChartLabelContext
Section titled “PivotChartLabelContext”interface ChartLabelContext { chartId: string; chartType: ChartType; kind: ChartLabelKind; defaultText: string; renderMode: 'chart' | 'preview'; axis?: 'x' | 'y' | 'ySecondary'; /** Stable logical axis identity; radar/polar axes may have no Cartesian orientation. */ axisId?: string; category?: ChartCategory; series?: ChartSeries; categoryIndex?: number; seriesIndex?: number; /** Source/reference value, or a representable raw tick value supplied by an axis renderer. */ value?: number | null; formattedValue?: string; annotationId?: string; annotationKind?: 'reference' | 'note'}PivotChartLabelFormatter
Section titled “PivotChartLabelFormatter”export type ChartLabelFormatter = (context: ChartLabelContext) => string | ChartLabelResult | null | undefined;PivotChartLabelKind
Section titled “PivotChartLabelKind”export type ChartLabelKind = 'title' | 'subtitle' | 'axisTitle' | 'axisTick' | 'category' | 'legend' | 'data' | 'annotation' | 'summary' | 'specialized';PivotChartLabelResult
Section titled “PivotChartLabelResult”interface ChartLabelResult { text?: string; ariaLabel?: string; className?: string; style?: ChartLabelStyle; hidden?: boolean}PivotChartLabelsOptions
Section titled “PivotChartLabelsOptions”interface ChartLabelsOptions { /** Refines, replaces, or suppresses any visible SVG chart label. */ formatter?: ChartLabelFormatter; /** Reusable typography overrides applied before formatter-specific styles. */ styles?: Partial<Record<ChartLabelKind, ChartLabelStyle>>}PivotChartLabelStyle
Section titled “PivotChartLabelStyle”interface ChartLabelStyle { fill?: string; fontFamily?: string; fontSize?: number | string; fontWeight?: number | string; fontStyle?: string; letterSpacing?: number | string; textDecoration?: string; opacity?: number; textAnchor?: 'start' | 'middle' | 'end'}PivotChartElementKind
Section titled “PivotChartElementKind”export type ChartElementKind = 'background' | 'mark' | 'label' | 'legend' | 'annotation' | 'decoration';PivotChartElementStyle (Extended from index.ts)
Section titled “PivotChartElementStyle (Extended from index.ts)”SVG presentation attributes; geometry and interaction remain renderer-owned.
interface ChartElementStyle { stroke?: string; strokeWidth?: number; strokeOpacity?: number; strokeDasharray?: string; strokeDashoffset?: number; strokeLinecap?: 'butt' | 'round' | 'square'; strokeLinejoin?: 'arcs' | 'bevel' | 'miter' | 'miter-clip' | 'round'; fillOpacity?: number; fillRule?: 'nonzero' | 'evenodd'; paintOrder?: string; vectorEffect?: 'none' | 'non-scaling-stroke'; fill?: string; fontFamily?: string; fontSize?: number | string; fontWeight?: number | string; fontStyle?: string; letterSpacing?: number | string; textDecoration?: string; opacity?: number; textAnchor?: 'start' | 'middle' | 'end'}PivotChartElementContext
Section titled “PivotChartElementContext”interface ChartElementContext { chartId: string; chartType: ChartType | ChartGeographicType; renderMode: 'chart' | 'preview'; kind: ChartElementKind; tagName: string; /** Read-only snapshot of the built-in SVG attributes before style overrides. */ attributes: Readonly<Record<string, string>>; categoryIndex?: number; seriesIndex?: number; category?: ChartCategory; series?: ChartSeries; value?: number | null; labelKind?: ChartLabelKind}PivotChartElementsOptions
Section titled “PivotChartElementsOptions”interface ChartElementsOptions { styles?: Partial<Record<ChartElementKind, ChartElementStyle>>; /** Per-element style wins over kind styles. Undefined keeps the kind style. */ formatter?: (context: ChartElementContext) => ChartElementStyle | undefined}PivotChartRenderedContext
Section titled “PivotChartRenderedContext”interface ChartRenderedContext { svg: SVGSVGElement; /** Canonical input, including series hidden from the current geometry. */ input: ChartRenderInput; bounds: Readonly<ChartBounds>; theme: Readonly<ChartTheme>}PivotChartRendererDiagnostic
Section titled “PivotChartRendererDiagnostic”interface ChartRendererDiagnostic { code: 'invalid-label-result' | 'invalid-tooltip-result' | 'invalid-element-style' | 'invalid-marker-result' | 'invalid-datum-style'; message: string; chartId: string; chartType: ChartType | ChartGeographicType}PivotChartRendererTheme
Section titled “PivotChartRendererTheme”export type ChartRendererTheme = Partial<ChartTheme> | ((context: ChartRendererThemeContext) => Partial<ChartTheme>);PivotChartRendererThemeContext
Section titled “PivotChartRendererThemeContext”interface ChartRendererThemeContext { input: ChartRenderInput; theme: ChartTheme}PivotChartsRendererOptions
Section titled “PivotChartsRendererOptions”interface ChartsRendererOptions { /** Runtime-only scoped chart-surface actions; omitted means no surface menu. */ hostActions?: import('../contracts/host-actions').ChartHostActionsOptions; /** Default-on native chart entrance and update transitions; runtime-only. Export settles the committed frame. * Omitted uses 180 ms ease-out; false opts out. Entrance and type switches animate native SVG marks (bars, paths, arcs, tiles, flows and points). * Native SVG data updates interpolate source geometry; custom/accelerated scenes use a surface fade. * Previews, sparklines, SSR and reduced motion render immediately. */ transitions?: false | { duration?: number; easing?: 'linear' | 'ease-out'; }; /** Adopt SVG produced by @revolist/charts/server on the initial render. */ hydrate?: boolean; sankey?: ChartSankeyRendererOptions; pie?: ChartPieRendererOptions; markers?: ChartMarkersRendererOptions; polarAxis?: ChartPolarAxisRendererOptions; categoryAxis?: { groups?: readonly ChartCategoryAxisRuntimeGroup[]; }; /** Runtime heatmap groups override the matching persisted matrix dimension. */ matrixAxes?: { rows?: { groups?: readonly ChartCategoryAxisRuntimeGroup[]; }; columns?: { groups?: readonly ChartSeriesAxisRuntimeGroup[]; }; }; /** Invalid customization results fall back locally. Reports once per code per SVG lifecycle. * Without an observer, diagnostics use console.warn. Observer errors are isolated. * Exceptions thrown by formatting callbacks retain their existing behavior. */ onDiagnostic?: (diagnostic: ChartRendererDiagnostic) => void; /** Additional application class names applied to the chart SVG. */ className?: string; palette?: readonly string[]; categorySeparator?: string; fontFamily?: string; /** Overrides the resolved light or dark chart theme. */ theme?: ChartRendererTheme; /** Customizes all chart text through one semantic label pipeline. */ labels?: ChartLabelsOptions; /** Styles SVG visuals in every native chart, after built-in appearance and labels. */ elements?: ChartElementsOptions; /** Per painted datum or directed source segment; never saved or called by transient inspection. */ datumStyle?: (context: ChartDatumStyleContext) => import('../contracts/encoding').ChartDatumStyle | undefined; /** * Runs synchronously after every complete SVG paint, including resize and navigation. * Use for advanced geometry, custom SVG layers or details outside the typed styles. * Mutate only this SVG; keep dataset/model state unchanged. Added SVG children are * discarded on the next paint. Exports include the resulting SVG. */ onRender?: (context: ChartRenderedContext) => void; imageEncoder?: (svg: SVGSVGElement, options: Required<Pick<ChartImageOptions, 'width' | 'height'>>) => Promise<string>; pdfEncoder?: ChartPdfEncoder; /** Disable tooltips or customize the built-in semantic tooltip renderer. */ tooltip?: false | ChartTooltipOptions}PivotChartUiOpenParams
Section titled “PivotChartUiOpenParams”export type PivotChartUiOpenParams = Omit<PivotChartCreateParams, 'container'>;PivotChartUiMountParams
Section titled “PivotChartUiMountParams”export type PivotChartUiMountParams = PivotChartCreateParams;PivotChartsUiPlugin
Section titled “PivotChartsUiPlugin”Dependencies
Section titled “Dependencies”- Required
TooltipPlugin: Uses the shared tooltip owner for chart configuration guidance. - Required
PivotChartsPlugin: Uses the headless Pivot Charts lifecycle and data APIs. - Optional
ContextMenuPlugin: Contributes the optional Pivot Chart row-menu action. - Config integration
grid.pivotChartsUi: Reads UI mounting and context-menu behavior from grid.pivotChartsUi.
class PivotChartsUiPlugin { /** * Opens a UI-owned modeless Pivot chart. The returned chart ref remains * managed by the headless plugin; closing the dialog destroys that ref. * If this grid already has an open chart dialog, it is focused and its * existing chart ref is returned. */ async openChart( params: PivotChartUiOpenParams = {}, ): Promise<PivotChartRef>;
/** * Mounts the standard Pivot Chart controls inside an application-owned * container. Multiple embedded charts may coexist with the modeless dialog. * Destroying the returned chart ref removes the embedded UI. */ async mountChart({ container, ...params }: PivotChartUiMountParams): Promise<PivotChartRef>;}createStandalonePivotChart
Section titled “createStandalonePivotChart”Owns one chart in an ordinary DOM host. Optional viewport sources use Charts runtime; no grid or Pivot query is created.
export async function createStandalonePivotChart( options: StandalonePivotChartOptions,): Promise<StandalonePivotChartRef>;StandalonePivotChartSettings
Section titled “StandalonePivotChartSettings”export type StandalonePivotChartSettings = Pick< PivotChartModel, | 'chartType' | 'bindings' | 'presentation' | 'theme' | 'navigation' | 'viewport' | 'interaction' | 'selection' | 'rangeSelection' | 'axes' | 'seriesOverrides' | 'colors' | 'annotations' | 'analysis' | 'facets' | 'bullet' | 'limits' | 'chartOptions'>;StandalonePivotChartPatch (Extended from index.ts)
Section titled “StandalonePivotChartPatch (Extended from index.ts)”export type StandalonePivotChartPatch = Partial<StandalonePivotChartSettings> & { dataset?: PivotChartDataset; };StandalonePivotChartOptions (Extended from index.ts)
Section titled “StandalonePivotChartOptions (Extended from index.ts)”interface StandalonePivotChartOptions { container: HTMLElement; chartId?: string; /** Supply a saved unlinked model instead of dataset/settings. */ model?: PivotChartModel; renderer?: PivotChartRenderer; dataSource?: import('@revolist/charts').ChartDataSource; localeText?: PivotChartsLocaleTextOptions; signal?: AbortSignal; underlyingRecords?: import('@revolist/charts').ChartUnderlyingRecordsProvider; onNodeClick?: (detail: PivotChartNodeClick) => void; onRangeSelectionStart?: import('@revolist/charts').ChartOptions['onRangeSelectionStart']; onRangeSelectionChange?: import('@revolist/charts').ChartOptions['onRangeSelectionChange']; onRangeSelectionEnd?: import('@revolist/charts').ChartOptions['onRangeSelectionEnd']; onSelectionRequest?: (selection: PivotChartSelection) => void; onChange?: (model: PivotChartModel) => void; onError?: (error: unknown) => void; exportHooks?: import('@revolist/charts').ChartExportHooks; onBeforeDownload?: ( options: PivotChartDownloadOptions, model: PivotChartModel, ) => boolean | void; onDownloaded?: ( options: PivotChartDownloadOptions, model: PivotChartModel, ) => void}StandalonePivotChartRef (Extended from index.ts)
Section titled “StandalonePivotChartRef (Extended from index.ts)”interface StandalonePivotChartRef { readonly model: PivotChartModel; readonly capabilities: PivotChartRendererCapabilities; setDataSource( source?: import('@revolist/charts').ChartDataSource, ): Promise<void>; reloadData(): Promise<void>; getDataset(): PivotChartDataset; update(patch: StandalonePivotChartPatch): Promise<void>; setSelection(selection: PivotChartSelection): Promise<void>; clearSelection(): Promise<void>; focus(): void; destroy(): void; getCSV(options?: PivotChartCsvOptions): string; download(options?: PivotChartDownloadOptions): Promise<void>; getImageDataURL(options?: PivotChartImageOptions): Promise<string>; readonly id: string; getSyncSnapshot(): ChartSyncSnapshot; subscribeEvents(listener: (event: ChartSyncEvent) => void): () => void; applyViewport(viewport: ChartViewport, transaction: ChartSyncTransaction): void | Promise<void>; /** Replaces only transient peer state. An empty object restores authored domains and clears peer hover. */ applySyncState(state: ChartSyncState, transaction: ChartSyncTransaction): void | Promise<void>}