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 per-panel state of a [`ViewerConfig`] — everything except the * element-level `settings` flag. This is the `panels` entry type of the * whole-element config format. */ export type PanelViewerConfig = { 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; };