// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { Aggregate } from "./Aggregate.js"; import type { Expressions } from "./Expressions.js"; import type { Filter } from "./Filter.js"; import type { FilterReducer } from "./FilterReducer.js"; import type { GroupRollupMode } from "./GroupRollupMode.js"; import type { Sort } from "./Sort.js"; import type { JsonValue } from "./serde_json/JsonValue.js"; /** * The state of an entire `custom_elements::PerspectiveViewerElement` component * and its `Plugin`: the element-level `settings` flag plus the per-panel * [`PanelViewerConfig`]. The split exists so the whole-element config format * can serialize panel entries *without* a `settings` key (it is element-level * state there, carried by the top-level `active` field instead), while the * single-panel format flattens back to the legacy shape. */ export type ViewerConfig = { settings: boolean, version: V, columns_config: { [key in string]?: { [key in string]?: JsonValue } }, plugin: string, plugin_config: { [key in string]?: JsonValue }, table: string | null, theme: string | null, title: string | null, group_by: Array, split_by: Array, sort: Array, filter: Array, group_rollup_mode: GroupRollupMode, filter_op?: FilterReducer, expressions: Expressions, columns: Array, aggregates: { [key in string]?: Aggregate }, group_by_depth?: number | null, };