@quillsql/react 2.16.29 → 2.16.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -73,6 +73,8 @@ interface SelectComponentProps {
73
73
  isLoading?: boolean;
74
74
  hideEmptyOption?: boolean;
75
75
  disabled?: boolean;
76
+ /** Compact trigger (e.g. chat toolbar). */
77
+ size?: 'default' | 'sm';
76
78
  }
77
79
  interface MultiSelectComponentProps {
78
80
  label?: string;
@@ -516,12 +518,12 @@ type ColorMapType = {
516
518
  /**
517
519
  * A set of valid format values for the x and y axes of dashboard items.
518
520
  */
519
- type AxisFormat = 'percent' | 'dollar_amount' | 'dollar_cents' | 'whole_number' | 'one_decimal_place' | 'two_decimal_places' | 'percentage' | 'string' | 'yyyy' | 'MMM_dd' | 'MMM_yyyy' | 'MMM_dd_yyyy' | 'hh_ap_pm' | 'MMM_dd-MMM_dd' | 'MMM_dd_hh:mm_ap_pm' | 'wo, yyyy';
521
+ type AxisFormat$1 = 'percent' | 'dollar_amount' | 'dollar_cents' | 'whole_number' | 'one_decimal_place' | 'two_decimal_places' | 'percentage' | 'string' | 'yyyy' | 'MMM_dd' | 'MMM_yyyy' | 'MMM_dd_yyyy' | 'hh_ap_pm' | 'MMM_dd-MMM_dd' | 'MMM_dd_hh:mm_ap_pm' | 'wo, yyyy';
520
522
 
521
523
  interface Column$1 {
522
524
  field: string;
523
525
  label: string;
524
- format: AxisFormat;
526
+ format: AxisFormat$1;
525
527
  inferFormat?: boolean;
526
528
  }
527
529
  interface ColumnInternal extends Column$1 {
@@ -546,6 +548,10 @@ interface BasePivot {
546
548
  rowFieldType?: string;
547
549
  columnField?: string;
548
550
  columnFieldType?: string;
551
+ /** Source table for rowField (multi-table / disambiguation). */
552
+ rowFieldTable?: string;
553
+ /** Source table for columnField (multi-table / disambiguation). */
554
+ columnFieldTable?: string;
549
555
  sort?: boolean;
550
556
  sortDirection?: 'ASC' | 'DESC';
551
557
  sortField?: string;
@@ -555,6 +561,14 @@ interface BasePivot {
555
561
  rowLimit?: number;
556
562
  columnValues?: string[];
557
563
  }
564
+ type PivotAggregation = {
565
+ aggregationType: AggregationType;
566
+ valueField?: string;
567
+ valueFieldType?: string;
568
+ valueField2?: string;
569
+ valueField2Type?: string;
570
+ valueFieldTable?: string;
571
+ };
558
572
  interface SingleAggregationPivot extends BasePivot {
559
573
  aggregationType: AggregationType;
560
574
  valueField?: string;
@@ -569,13 +583,7 @@ interface MultiAggregationPivot extends BasePivot {
569
583
  valueField2?: never;
570
584
  valueField2Type?: never;
571
585
  valueFieldType?: never;
572
- aggregations: {
573
- valueField?: string;
574
- valueFieldType?: string;
575
- valueField2?: string;
576
- valueField2Type?: string;
577
- aggregationType: AggregationType;
578
- }[];
586
+ aggregations: PivotAggregation[];
579
587
  }
580
588
  type AggregationType = 'sum' | 'average' | 'min' | 'max' | 'count' | 'avg' | 'percentage';
581
589
  type PivotData = {
@@ -629,6 +637,28 @@ type ReportBuilderState = {
629
637
  limit: ReportBuilderLimit | null;
630
638
  };
631
639
 
640
+ /**
641
+ * Represents a table object returned from /schema2/:id
642
+ */
643
+ type Table$1 = {
644
+ _id: string;
645
+ isSelectStar: boolean;
646
+ displayName: string;
647
+ name: string;
648
+ columns: ColumnInternal[];
649
+ viewQuery: string;
650
+ customFieldInfo: any;
651
+ broken?: boolean;
652
+ error?: string;
653
+ ownerTenantFields?: string[];
654
+ };
655
+ interface UniqueValuesByTable {
656
+ [table: string]: UniqueValuesByColumn;
657
+ }
658
+ interface UniqueValuesByColumn {
659
+ [column: string]: string[];
660
+ }
661
+
632
662
  /**
633
663
  * ## QuillReport
634
664
  * Represents an individual item on a dashboard.
@@ -669,7 +699,7 @@ interface QuillReport {
669
699
  /** The field to use for this report's xAxis. */
670
700
  xAxisField: string;
671
701
  /** The format for this report's xAxis. */
672
- xAxisFormat: AxisFormat;
702
+ xAxisFormat: AxisFormat$1;
673
703
  /** The template flag for a report */
674
704
  template?: boolean;
675
705
  /**
@@ -681,7 +711,7 @@ interface QuillReport {
681
711
  /** The label to use for this yAxis. */
682
712
  label: string;
683
713
  /** The format of the data in this yAxis. */
684
- format: AxisFormat;
714
+ format: AxisFormat$1;
685
715
  }[];
686
716
  /**
687
717
  * The relative ordering of this report in relation to its siblings. Ordering
@@ -770,15 +800,19 @@ interface QuillReportInternal extends QuillReport {
770
800
  flags?: {
771
801
  [tenantField: string]: string[] | 'QUILL_ALL_TENANTS';
772
802
  };
773
- /** Indicates whether this report can be cached. */
774
- isCacheable?: boolean;
775
- /** Reason why this report query cannot be cached. */
776
- isCacheableReason?: string;
777
803
  /**
778
804
  * ReportBuilderState used for ReportBuilder reports.
779
805
  * When present, backend will generate SQL from this state instead of using queryString.
780
806
  */
781
807
  reportBuilderState?: ReportBuilderState;
808
+ /** String unique values grouped by table/column, used by filter builders. */
809
+ uniqueStringsByTable?: UniqueValuesByTable;
810
+ /** String unique values keyed by column name, used by filter builders. */
811
+ uniqueStringsByColumn?: UniqueValuesByColumn;
812
+ /** Legacy alias for unique string values keyed by column name. */
813
+ columnUniqueValues?: UniqueValuesByColumn;
814
+ /** Backward-compatible alias for unique string values keyed by column name. */
815
+ uniqueValues?: UniqueValuesByColumn;
782
816
  }
783
817
 
784
818
  /**
@@ -1083,15 +1117,8 @@ interface DashboardProps {
1083
1117
  name: string;
1084
1118
  onClickReport: (report: QuillReport) => void;
1085
1119
  containerStyle?: CSSProperties;
1086
- config?: {
1087
- pageSize?: number;
1088
- frontendCacheConfig?: {
1089
- cacheType: 'memory' | 'indexedDB';
1090
- };
1091
- disableBackendCache?: boolean;
1092
- };
1093
1120
  }
1094
- declare function Dashboard({ name, onClickReport, containerStyle, config }: DashboardProps & React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
1121
+ declare function Dashboard({ name, onClickReport, containerStyle, }: DashboardProps & React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
1095
1122
 
1096
1123
  type DashboardConfig = {
1097
1124
  dashboardId: string;
@@ -1223,6 +1250,7 @@ interface BaseQuillProviderProps {
1223
1250
  isAdmin?: boolean;
1224
1251
  getAuthorizationToken?: () => Promise<string>;
1225
1252
  eventTracking?: EventTracking | null;
1253
+ streamEndpoint?: string;
1226
1254
  }
1227
1255
  interface QuillCloudProviderProps extends BaseQuillProviderProps {
1228
1256
  tenants: {
@@ -1311,8 +1339,68 @@ type QuillProviderProps = QuillCloudProviderProps | SelfHostedProviderProps;
1311
1339
  * ### Dashboard API
1312
1340
  * @see https://docs.quillsql.com/components/quill-provider
1313
1341
  */
1314
- declare const QuillProvider: ({ tenants, flags, publicKey, queryEndpoint, queryHeaders, children, theme, withCredentials, isAdmin, getAuthorizationToken, eventTracking, }: QuillProviderProps) => react_jsx_runtime.JSX.Element;
1342
+ declare const QuillProvider: ({ tenants, flags, publicKey, queryEndpoint, streamEndpoint, queryHeaders, children, theme, withCredentials, isAdmin, getAuthorizationToken, eventTracking, }: QuillProviderProps) => react_jsx_runtime.JSX.Element;
1315
1343
 
1344
+ interface TableComponentProps {
1345
+ rows: object[];
1346
+ rowCount?: number;
1347
+ rowCountIsLoading?: boolean;
1348
+ columns: {
1349
+ label: string;
1350
+ field: string;
1351
+ format?: string;
1352
+ }[];
1353
+ currentPage: number;
1354
+ sort?: {
1355
+ field: string;
1356
+ direction: string;
1357
+ };
1358
+ className?: string;
1359
+ containerStyle?: React$1.CSSProperties;
1360
+ isLoading?: boolean;
1361
+ hideCSVDownloadButton?: boolean;
1362
+ downloadCSV?: () => void;
1363
+ LoadingComponent?: () => React$1.JSX.Element;
1364
+ DownloadCSVButtonComponent?: (props: ButtonComponentProps) => React$1.JSX.Element;
1365
+ rowsPerPage?: number;
1366
+ emptyStateLabel?: string;
1367
+ onPageChange?: (page: number) => void;
1368
+ onSortChange?: (sort: {
1369
+ field: string;
1370
+ direction: string;
1371
+ }) => void;
1372
+ headerBackgroundColor?: string;
1373
+ footerBackgroundColor?: string;
1374
+ borderRadius?: string | number;
1375
+ borderLeft?: string;
1376
+ borderRight?: string;
1377
+ borderTop?: string;
1378
+ borderBottom?: string;
1379
+ }
1380
+
1381
+ interface BaseChartProps {
1382
+ colors?: string[];
1383
+ containerStyle?: React.CSSProperties;
1384
+ className?: string;
1385
+ isAnimationActive?: boolean;
1386
+ hideXAxis?: boolean;
1387
+ hideYAxis?: boolean;
1388
+ hideCartesianGrid?: boolean;
1389
+ hideDateRangeFilter?: boolean;
1390
+ hideHorizontalCartesianGrid?: boolean;
1391
+ hideVerticalCartesianGrid?: boolean;
1392
+ hideSubsequentXAxisTicks?: boolean;
1393
+ cartesianGridLineStyle?: 'solid' | 'dashed';
1394
+ cartesianGridLineColor?: string;
1395
+ comparisonLineStyle?: 'solid' | 'dashed';
1396
+ mapColorsToFields?: (_report: QuillReport, _theme: QuillTheme) => ColorMapType;
1397
+ LoadingComponent?: () => React.JSX.Element;
1398
+ filters?: InternalFilter[];
1399
+ onClickChartElement?: (data: any) => void;
1400
+ }
1401
+ interface WithConfig extends BaseChartProps {
1402
+ config?: QuillReport;
1403
+ }
1316
1404
  /**
1317
1405
  * Props for the Quill Chart component.
1318
1406
  */
@@ -1485,6 +1573,32 @@ interface ChartProps {
1485
1573
  isAdmin?: boolean;
1486
1574
  }
1487
1575
  declare function Chart({ colors, reportId, className, containerStyle, isAnimationActive, hideXAxis, hideYAxis, hideCartesianGrid, hideHorizontalCartesianGrid, hideVerticalCartesianGrid, hideSubsequentXAxisTicks, cartesianGridLineStyle, cartesianGridLineColor, comparisonLineStyle, hideDateRangeFilter, hideFilters, mapColorsToFields, LoadingComponent, SelectComponent, MultiSelectComponent, DateRangePickerComponent, FilterContainerComponent, TableComponent, MetricComponent, filters, onClickChartElement, dateBucket, propagateChanges, isAdmin, }: ChartProps): react_jsx_runtime.JSX.Element;
1576
+ interface ChartDisplayProps extends WithConfig {
1577
+ loading: boolean;
1578
+ ErrorComponent?: ({ errorMessage, }: {
1579
+ errorMessage: string;
1580
+ }) => React.JSX.Element;
1581
+ colorMap?: ColorMapType;
1582
+ reportId?: string;
1583
+ onPageChange?: (page: number) => void;
1584
+ onSortChange?: (sort: {
1585
+ field: string;
1586
+ direction: string;
1587
+ }) => void;
1588
+ onClickChartElement?: (data: any) => void;
1589
+ scrollable?: boolean;
1590
+ overrideTheme?: QuillTheme;
1591
+ referenceLines?: {
1592
+ label: string;
1593
+ query: number[];
1594
+ }[];
1595
+ showLegend?: boolean;
1596
+ tableRowsLoading?: boolean;
1597
+ disableTableSort?: boolean;
1598
+ /** When `chartType` is `table`, applied to QuillTable's outer frame only (not cell lines). */
1599
+ tableChartWrapperBorders?: Pick<TableComponentProps, 'borderRadius' | 'borderLeft' | 'borderRight' | 'borderTop' | 'borderBottom'>;
1600
+ }
1601
+ declare const ChartDisplay: ({ reportId, config, colors, className, containerStyle, hideXAxis, hideYAxis, hideCartesianGrid, hideDateRangeFilter, hideHorizontalCartesianGrid, hideVerticalCartesianGrid, hideSubsequentXAxisTicks, cartesianGridLineStyle, cartesianGridLineColor, comparisonLineStyle, isAnimationActive, scrollable, loading, ErrorComponent, colorMap, LoadingComponent, onPageChange, onSortChange, onClickChartElement, overrideTheme, referenceLines, showLegend, tableRowsLoading, tableChartWrapperBorders, }: ChartDisplayProps) => react_jsx_runtime.JSX.Element;
1488
1602
 
1489
1603
  /**
1490
1604
  * Props for the Quill Table component.
@@ -1552,6 +1666,7 @@ interface TableProps {
1552
1666
  columns?: {
1553
1667
  label: string;
1554
1668
  field: string;
1669
+ format?: string;
1555
1670
  }[];
1556
1671
  /**
1557
1672
  * The placeholder filename to use when downloading this table as a csv file.
@@ -1627,6 +1742,12 @@ interface TableProps {
1627
1742
  * Styles the top-level container of the Table.
1628
1743
  */
1629
1744
  containerStyle?: React$1.CSSProperties;
1745
+ /** Passed through to QuillTable when rendering with `rows` / `columns`. */
1746
+ borderRadius?: string | number;
1747
+ borderLeft?: string;
1748
+ borderRight?: string;
1749
+ borderTop?: string;
1750
+ borderBottom?: string;
1630
1751
  /** An array of dashboard filters that are indicated by the frontend dev. */
1631
1752
  filters?: Filter[];
1632
1753
  }
@@ -1661,7 +1782,7 @@ interface TableProps {
1661
1782
  * ### Table API
1662
1783
  * @see https://docs.quillsql.com/components/table
1663
1784
  */
1664
- declare const Table$1: ({ TableComponent, ...props }: TableProps) => react_jsx_runtime.JSX.Element | null;
1785
+ declare const Table: ({ TableComponent, ...props }: TableProps) => react_jsx_runtime.JSX.Element | null;
1665
1786
 
1666
1787
  /**
1667
1788
  * Props for the Quill SQLEditor component.
@@ -2554,6 +2675,577 @@ type StaticChartProps = (StaticChartBaseProps & {
2554
2675
  });
2555
2676
  declare function StaticChart(props: StaticChartProps): react_jsx_runtime.JSX.Element;
2556
2677
 
2678
+ interface ChatProps {
2679
+ selectedDashboard?: string | null;
2680
+ ChartViewComponent?: (props: {
2681
+ reportId: string;
2682
+ }) => JSX.Element;
2683
+ /** Called when the agent returns a report id (e.g. from `[RB_TOOL_OUTPUT]`). */
2684
+ onReportId?: (reportId: string) => void;
2685
+ /**
2686
+ * Current report builder state (e.g. return value `reportBuilderState` from `useReport`). Sent as `state` in agent-light
2687
+ * metadata on each message. Omit or pass null when not in the report builder.
2688
+ */
2689
+ reportBuilderState?: ReportBuilderState | null;
2690
+ }
2691
+ type ChatModelId = 'gemini-2-flash' | 'gemini-2.5-flash' | 'gemini-3-flash-preview' | 'gpt-5.1' | 'opus-4.5' | 'kimi-k2.5';
2692
+ declare function Chat({ selectedDashboard, ChartViewComponent, onReportId, reportBuilderState, }: ChatProps): react_jsx_runtime.JSX.Element;
2693
+
2694
+ type QueryBuilderCombinator = 'and' | 'or';
2695
+ type QueryBuilderRule = {
2696
+ field: string;
2697
+ operator: string;
2698
+ value: unknown;
2699
+ };
2700
+ type QueryBuilderRuleGroupEntry = QueryBuilderRule | QueryBuilderRuleGroup | QueryBuilderCombinator;
2701
+ type QueryBuilderRuleGroup = {
2702
+ combinator?: QueryBuilderCombinator;
2703
+ rules: QueryBuilderRuleGroupEntry[];
2704
+ };
2705
+ type QueryBuilderFieldType = 'string' | 'number' | 'date' | 'boolean' | 'null';
2706
+ type QueryBuilderOperatorOption = {
2707
+ name: string;
2708
+ value: string;
2709
+ label: string;
2710
+ arity?: 'unary' | 'binary' | number;
2711
+ };
2712
+
2713
+ type SelectOption = {
2714
+ label: string;
2715
+ value: string;
2716
+ };
2717
+ type UseFormTableRow = Record<string, unknown>;
2718
+ type UseFormTableColumn = {
2719
+ label: string;
2720
+ field: string;
2721
+ format: string;
2722
+ };
2723
+ type UseFormTable = {
2724
+ rows: UseFormTableRow[];
2725
+ columns: UseFormTableColumn[];
2726
+ getColumnFormat: (field: string) => string;
2727
+ formatCellValue: (field: string, value: unknown) => string;
2728
+ getFormattedCellValue: (row: UseFormTableRow, field: string) => string;
2729
+ };
2730
+ type ColumnSelectionOption = {
2731
+ value: string;
2732
+ label: string;
2733
+ field: string;
2734
+ tableName: string;
2735
+ type: string;
2736
+ };
2737
+ type UseFormDisplayColumn = ReportBuilderColumn & {
2738
+ format?: string;
2739
+ };
2740
+ type SetReportBuilderColumnInput = Partial<UseFormDisplayColumn> & {
2741
+ field: string;
2742
+ label?: string;
2743
+ };
2744
+ type TableColumnsControllerItem = {
2745
+ id: string;
2746
+ label: string;
2747
+ defaultLabel: string;
2748
+ customLabel: string;
2749
+ /** Persisted axis format value (e.g. `whole_number`). */
2750
+ format: string;
2751
+ /** Format preset label (same strings as chart axis / `tableFormatOptions`). */
2752
+ formatLabel: string;
2753
+ field: string;
2754
+ tableName: string;
2755
+ };
2756
+ type TableColumnListItem = {
2757
+ id: string;
2758
+ label: string;
2759
+ visible: true;
2760
+ /** Axis format preset label (matches `tableFormatOptions` / chart axis). */
2761
+ format: string;
2762
+ /**
2763
+ * When set, overrides the shared `formatOptions` for this row (e.g. pivot date bucket).
2764
+ */
2765
+ formatOptions?: string[];
2766
+ };
2767
+ /** Selected columns + mutation methods. Pair with `columnOptions` from `useReport` (like `datasources` / `datasourceOptions`). */
2768
+ type TableColumnsController = {
2769
+ items: TableColumnsControllerItem[];
2770
+ /** Schema option per column id (`value` === id) — includes `field`, `tableName`, etc. */
2771
+ optionById: ReadonlyMap<string, ColumnSelectionOption>;
2772
+ byId: ReadonlyMap<string, TableColumnsControllerItem>;
2773
+ /** Ready-made rows for table/column-picker UIs (`id`, `label`, `format` display string). */
2774
+ columnList: TableColumnListItem[];
2775
+ /** Build the `columns` array for `setReport({ columns })` from ordered ids. */
2776
+ getSetReportColumns: (ids: string[]) => SetReportBuilderColumnInput[];
2777
+ reorder: (oldIndex: number, newIndex: number) => void;
2778
+ /** Reorder to match a full id list (e.g. after drag-and-drop column list UIs). */
2779
+ reorderFromOrder: (nextIds: string[]) => void;
2780
+ remove: (id: string) => void;
2781
+ toggle: (id: string) => void;
2782
+ update: (id: string, updates: Partial<{
2783
+ fieldId: string;
2784
+ label: string;
2785
+ format: string;
2786
+ }>) => void;
2787
+ /**
2788
+ * Build `setReport({ columns: { patch } })` for a table column sidebar edit;
2789
+ * `setReport` expands it to a full `columns` list and/or `chartAxes`. Returns
2790
+ * null only when `id` is empty.
2791
+ */
2792
+ getColumnSidebarSetReportInput: (id: string, updates: Partial<{
2793
+ fieldId: string;
2794
+ label: string;
2795
+ format: string;
2796
+ }>) => SetReportBuilderInput | null;
2797
+ /**
2798
+ * When true (pivot + chartType table), the list mirrors `chart.columns`; reorder,
2799
+ * add, remove, and field swap are disabled — only label/format apply via chart axes.
2800
+ */
2801
+ structureEditsLocked: boolean;
2802
+ };
2803
+ type ChartAxisFieldOption = {
2804
+ value: string;
2805
+ label: string;
2806
+ format: AxisFormat;
2807
+ };
2808
+ type ChartYAxisControllerItem = {
2809
+ id: string;
2810
+ field: string;
2811
+ label: string;
2812
+ format: AxisFormat;
2813
+ };
2814
+ type ChartAxesController = {
2815
+ xAxis: {
2816
+ field: string;
2817
+ format: AxisFormat;
2818
+ options: ChartAxisFieldOption[];
2819
+ formatOptions: SelectOption[];
2820
+ update: (updates: Partial<{
2821
+ field: string;
2822
+ format: AxisFormat;
2823
+ }>) => void;
2824
+ };
2825
+ yAxis: {
2826
+ items: ChartYAxisControllerItem[];
2827
+ options: ChartAxisFieldOption[];
2828
+ formatOptions: SelectOption[];
2829
+ add: (field?: string) => void;
2830
+ remove: (id: string) => void;
2831
+ reorder: (oldIndex: number, newIndex: number) => void;
2832
+ update: (id: string, updates: Partial<{
2833
+ field: string;
2834
+ label: string;
2835
+ format: AxisFormat;
2836
+ }>) => void;
2837
+ };
2838
+ };
2839
+ type ColumnSelectorChangeValue = string[];
2840
+ /**
2841
+ * Table column sidebar edit under {@link SetReportBuilderInput.columns}: expands
2842
+ * inside `setReport` to a full `columns` array and/or `chartAxes` (pivot table chart).
2843
+ */
2844
+ type SetReportTableColumnSidebarPatch = {
2845
+ patch: {
2846
+ id: string;
2847
+ label?: string;
2848
+ format?: string;
2849
+ fieldId?: string;
2850
+ };
2851
+ };
2852
+ type AggregationStateItem = Partial<{
2853
+ valueField: string;
2854
+ valueField2?: string;
2855
+ aggregationType: AggregationType;
2856
+ /** Resolved datasource table for `valueField` (mirrors `aggregationTablesByIndex`). */
2857
+ valueFieldTable?: string;
2858
+ }>;
2859
+ type AggregationOption = {
2860
+ key: string;
2861
+ label: string;
2862
+ value: string;
2863
+ options: SelectOption[];
2864
+ };
2865
+ type AxisFormat = QuillReportInternal['yAxisFields'][number]['format'];
2866
+ type QueryBuilderFieldValueOption = {
2867
+ name: string;
2868
+ label: string;
2869
+ value: string;
2870
+ };
2871
+ type UseFormQueryBuilderField = {
2872
+ name: string;
2873
+ label: string;
2874
+ inputType: string;
2875
+ quillFieldType: QueryBuilderFieldType;
2876
+ values?: QueryBuilderFieldValueOption[];
2877
+ };
2878
+ type UseFormQueryBuilderProps = {
2879
+ fields: UseFormQueryBuilderField[];
2880
+ listsAsArrays: true;
2881
+ getOperators: (field: string, misc?: {
2882
+ fieldData?: Partial<UseFormQueryBuilderField>;
2883
+ }) => QueryBuilderOperatorOption[];
2884
+ getInputType: (field: string, operator: string, misc?: {
2885
+ fieldData?: Partial<UseFormQueryBuilderField>;
2886
+ }) => 'text' | 'number' | 'date' | 'checkbox';
2887
+ getValueEditorType: (field: string, operator: string, misc?: {
2888
+ fieldData?: Partial<UseFormQueryBuilderField>;
2889
+ }) => 'multiselect' | undefined;
2890
+ getValues: (field: string, operator: string, misc?: {
2891
+ fieldData?: Partial<UseFormQueryBuilderField>;
2892
+ }) => QueryBuilderFieldValueOption[];
2893
+ };
2894
+ /** Maps table column format dropdown values to persisted report column `format` (matches `setReport({ columns })` / `update`). */
2895
+ declare function tableColumnFormatFromUiSelection(raw: string): string;
2896
+ /** Shape expected by chart config sidebars that mirror `AxisConfig` (e.g. Quill Chat ConfigForm). */
2897
+ type UseFormAxisConfig = {
2898
+ xAxis: {
2899
+ field: string;
2900
+ label: string;
2901
+ format: string;
2902
+ show: boolean;
2903
+ rotation: number;
2904
+ fontSize: number;
2905
+ };
2906
+ yAxis: {
2907
+ fields: Array<{
2908
+ field: string;
2909
+ label: string;
2910
+ format: string;
2911
+ color: string;
2912
+ }>;
2913
+ label: string;
2914
+ show: boolean;
2915
+ min: string;
2916
+ max: string;
2917
+ fontSize: number;
2918
+ };
2919
+ legend: {
2920
+ show: boolean;
2921
+ };
2922
+ };
2923
+ type SetReportChartAxesInput = {
2924
+ xAxis?: Partial<{
2925
+ field: string;
2926
+ /** Custom X-axis title; empty string clears the override and restores the report/field default. */
2927
+ label: string;
2928
+ format: AxisFormat | string;
2929
+ }>;
2930
+ yAxis?: {
2931
+ fields: Array<{
2932
+ field: string;
2933
+ label?: string;
2934
+ format?: AxisFormat | string;
2935
+ }>;
2936
+ };
2937
+ };
2938
+ interface SetReportBuilderInput {
2939
+ /**
2940
+ * Column picker ids, a full column list, or `{ patch: { id, … } }` for sidebar
2941
+ * edits (expanded inside `setReport` into a full list and/or `chartAxes`).
2942
+ */
2943
+ columns?: ColumnSelectorChangeValue | SetReportBuilderColumnInput[] | SetReportTableColumnSidebarPatch;
2944
+ filters?: Filter[];
2945
+ groupRowsBy?: string;
2946
+ groupColumnsBy?: string;
2947
+ aggregations?: AggregationStateItem[] | string | {
2948
+ index: number;
2949
+ value: string;
2950
+ };
2951
+ sort?: ReportBuilderSort[] | string;
2952
+ limit?: ReportBuilderLimit | null;
2953
+ chartType?: string;
2954
+ /** When set, updates chart legend visibility (same source as `showLegend` from `useReport`). */
2955
+ showLegend?: boolean;
2956
+ /** When set, merges into chart axis edits (use with returned `xAxis` / `yAxis` / options). */
2957
+ chartAxes?: SetReportChartAxesInput;
2958
+ /**
2959
+ * Schema table names for datasource / multi-table picker UIs.
2960
+ * Empty array clears the override (report base tables apply again).
2961
+ */
2962
+ datasources?: string[];
2963
+ }
2964
+ interface UseReportOptions {
2965
+ useInMemoryEngines?: boolean;
2966
+ reportOverride?: QuillReportInternal | null;
2967
+ initialReportBuilderState?: ReportBuilderState | null;
2968
+ /**
2969
+ * When the report payload has no `dashboardName` and the client has no
2970
+ * `defaultDashboard`, use this for engine tasks that require a dashboard
2971
+ * (e.g. filter unique values).
2972
+ */
2973
+ destinationDashboardName?: string;
2974
+ /**
2975
+ * When true (default), filter pickers, pivot row/column group-by options,
2976
+ * aggregation field dropdowns, and filter-builder field lists only include
2977
+ * columns from the selected datasource
2978
+ * tables (`setReport({ datasources })` / report base tables)—not other tables that
2979
+ * happen to be FK-joinable but were not selected. When false, behaviour matches
2980
+ * the prior schema-wide option lists when no table scope applies.
2981
+ */
2982
+ restrictFieldOptionsToSelectedDatasources?: boolean;
2983
+ }
2984
+ /**
2985
+ * `saveChanges` from `useReport`. Always returns a Promise so UIs can `await`
2986
+ * before navigation or feedback. Resolves to `undefined` when persist is skipped
2987
+ * (e.g. missing client, dashboard name, or report state).
2988
+ */
2989
+ type UseReportSaveChangesFn = () => Promise<unknown>;
2990
+ /**
2991
+ * @param reportIdArg When omitted, the hook can bootstrap a report via `saveReport`
2992
+ * (`create-report`) on the first `setReport({ datasources })`, after schema is available.
2993
+ * Use `destinationDashboardName` so the server can resolve a dashboard for create-report.
2994
+ */
2995
+ declare function useReport(reportIdArg?: string, options?: UseReportOptions): {
2996
+ chart: {
2997
+ xAxisField: string;
2998
+ xAxisFormat: AxisFormat$1;
2999
+ xAxisLabel: string;
3000
+ yAxisFields: {
3001
+ field: string;
3002
+ label: string;
3003
+ format: AxisFormat$1;
3004
+ }[];
3005
+ columns: Column$1[];
3006
+ pivotQuery?: string;
3007
+ comparisonPivotQuery?: string;
3008
+ itemQuery?: string[];
3009
+ referencedTables?: string[];
3010
+ referencedColumns?: {
3011
+ [table: string]: string[];
3012
+ };
3013
+ error?: string;
3014
+ adminError?: string;
3015
+ triggerReload?: boolean;
3016
+ columnInternal: ColumnInternal[];
3017
+ loadingRows?: boolean;
3018
+ flags?: {
3019
+ [tenantField: string]: string[] | "QUILL_ALL_TENANTS";
3020
+ };
3021
+ reportBuilderState?: ReportBuilderState;
3022
+ uniqueStringsByTable?: UniqueValuesByTable;
3023
+ uniqueStringsByColumn?: UniqueValuesByColumn;
3024
+ columnUniqueValues?: UniqueValuesByColumn;
3025
+ uniqueValues?: UniqueValuesByColumn;
3026
+ id: string;
3027
+ name: string;
3028
+ dashboardName: string;
3029
+ rows: {
3030
+ [key: string]: string;
3031
+ }[];
3032
+ chartType: string;
3033
+ showLegend?: boolean;
3034
+ dateField?: {
3035
+ table: string;
3036
+ field: string;
3037
+ };
3038
+ pivot: Pivot | null;
3039
+ template?: boolean;
3040
+ order: number;
3041
+ compareRows: {
3042
+ [key: string]: string;
3043
+ }[];
3044
+ filtersApplied?: InternalFilter[];
3045
+ pagination?: Pagination;
3046
+ sort?: {
3047
+ field: string;
3048
+ direction: string;
3049
+ };
3050
+ rowCount: number;
3051
+ queryString: string;
3052
+ filterMap?: {
3053
+ [key: string]: {
3054
+ table: string;
3055
+ field: string;
3056
+ };
3057
+ };
3058
+ referenceLines?: {
3059
+ label: string;
3060
+ query: [number, number] | string;
3061
+ }[];
3062
+ referenceLineYValues?: {
3063
+ label: string;
3064
+ query: [number, number];
3065
+ }[];
3066
+ includeCustomFields?: boolean;
3067
+ columnsWithCustomFields?: Column$1[];
3068
+ pivotRows?: {
3069
+ [key: string]: string;
3070
+ }[];
3071
+ pivotColumns?: ColumnInternal[];
3072
+ pivotRowCount?: number;
3073
+ } | undefined;
3074
+ chartLoading: boolean;
3075
+ table: UseFormTable;
3076
+ tableLoading: boolean;
3077
+ loading: boolean;
3078
+ /** Report title: matching `sourceReport.name`, else `report-name` task, else empty. */
3079
+ name: string;
3080
+ /**
3081
+ * Resolved report id: the `reportId` argument when provided, otherwise the id
3082
+ * returned from `create-report` after the first datasource selection.
3083
+ */
3084
+ reportId: string | undefined;
3085
+ datasources: {
3086
+ id: string;
3087
+ label: string;
3088
+ }[];
3089
+ datasourceOptions: {
3090
+ id: string;
3091
+ label: string;
3092
+ }[];
3093
+ groupRowsBy: string | undefined;
3094
+ groupRowsByOptions: SelectOption[];
3095
+ groupColumnsBy: string | undefined;
3096
+ groupColumnsByOptions: SelectOption[];
3097
+ aggregations: Partial<{
3098
+ valueField: string;
3099
+ valueField2?: string;
3100
+ aggregationType: AggregationType;
3101
+ /** Resolved datasource table for `valueField` (mirrors `aggregationTablesByIndex`). */
3102
+ valueFieldTable?: string;
3103
+ }>[];
3104
+ aggregationOptions: AggregationOption[];
3105
+ aggregationDescriptionOptions: {
3106
+ label: string;
3107
+ value: string;
3108
+ }[];
3109
+ sort: string;
3110
+ sortOptions: {
3111
+ label: string;
3112
+ value: string;
3113
+ }[];
3114
+ chartType: string | undefined;
3115
+ chartTypeOptions: {
3116
+ label: string;
3117
+ value: string;
3118
+ }[];
3119
+ /** Encoded field keys for the current column selection (for `setReport({ columns })`, etc.). */
3120
+ columnIds: ColumnSelectorChangeValue;
3121
+ /** Selected columns + `reorder` / `toggle` / `update` / `remove`. */
3122
+ columns: TableColumnsController;
3123
+ /** Schema columns for current datasources — pool for the table column picker. */
3124
+ columnOptions: ColumnSelectionOption[];
3125
+ xAxis: {
3126
+ field: string;
3127
+ format: AxisFormat;
3128
+ options: ChartAxisFieldOption[];
3129
+ formatOptions: SelectOption[];
3130
+ update: (updates: Partial<{
3131
+ field: string;
3132
+ format: AxisFormat;
3133
+ }>) => void;
3134
+ };
3135
+ xAxisOptions: {
3136
+ value: string;
3137
+ label: string;
3138
+ format: string;
3139
+ }[];
3140
+ yAxis: {
3141
+ items: ChartYAxisControllerItem[];
3142
+ options: ChartAxisFieldOption[];
3143
+ formatOptions: SelectOption[];
3144
+ add: (field?: string) => void;
3145
+ remove: (id: string) => void;
3146
+ reorder: (oldIndex: number, newIndex: number) => void;
3147
+ update: (id: string, updates: Partial<{
3148
+ field: string;
3149
+ label: string;
3150
+ format: AxisFormat;
3151
+ }>) => void;
3152
+ };
3153
+ yAxisOptions: {
3154
+ value: string;
3155
+ label: string;
3156
+ format: string;
3157
+ }[];
3158
+ /** Same strings as `axisSelectFormatLabels` (X/Y share chart format presets). */
3159
+ xAxisFormatOptions: string[];
3160
+ yAxisFormatOptions: string[];
3161
+ /** Table column format dropdown labels (same set as chart axis formats). */
3162
+ tableFormatOptions: string[];
3163
+ showLegend: boolean;
3164
+ axisConfig: UseFormAxisConfig;
3165
+ availableFields: {
3166
+ id: string;
3167
+ label: string;
3168
+ type: string;
3169
+ }[];
3170
+ axisSelectFormatLabels: string[];
3171
+ /** @deprecated Prefer top-level `xAxis`, `yAxis`, and `showLegend`. */
3172
+ chartAxes: ChartAxesController;
3173
+ /** @deprecated Prefer top-level `xAxisOptions` / `yAxisOptions`. */
3174
+ chartAxisOptions: {
3175
+ xAxis: {
3176
+ value: string;
3177
+ label: string;
3178
+ format: string;
3179
+ }[];
3180
+ yAxis: {
3181
+ value: string;
3182
+ label: string;
3183
+ format: string;
3184
+ }[];
3185
+ };
3186
+ hasTableDrivenColumnOrder: boolean;
3187
+ filters: QueryBuilderRuleGroup;
3188
+ filterQueryBuilderProps: UseFormQueryBuilderProps;
3189
+ /** True while `report-builder-unique-values` runs for filter value options (not chart/table load). */
3190
+ filterUniqueValuesLoading: boolean;
3191
+ limit: ReportBuilderLimit | null;
3192
+ chartTypes: {
3193
+ label: string;
3194
+ value: string;
3195
+ }[];
3196
+ columnsOptions: ColumnSelectionOption[];
3197
+ tableColumnOptions: ColumnSelectionOption[];
3198
+ tableColumns: TableColumnsController;
3199
+ setReport: (nextState: SetReportBuilderInput) => void;
3200
+ saveChanges: UseReportSaveChangesFn;
3201
+ setFilters: (nextFilters: QueryBuilderRuleGroup) => void;
3202
+ setReportBuilder: (nextState: SetReportBuilderInput) => void;
3203
+ /** Current report-builder slice (tables, columns, filters, pivot, sort); pass to e.g. `Chat` as `reportBuilderState`. */
3204
+ reportBuilderState: ReportBuilderState | undefined;
3205
+ };
3206
+
3207
+ /** Normalize react-querybuilder filter trees before stack conversion / persistence. */
3208
+ type QueryBuilderDisplayRule = {
3209
+ id?: unknown;
3210
+ field?: unknown;
3211
+ operator?: unknown;
3212
+ value?: unknown;
3213
+ };
3214
+ type QueryBuilderDisplayGroup = {
3215
+ combinator?: unknown;
3216
+ rules: unknown[];
3217
+ };
3218
+ declare const isQueryBuilderDisplayGroup: (value: unknown) => value is QueryBuilderDisplayGroup;
3219
+ declare const isQueryBuilderDisplayRule: (value: unknown) => value is QueryBuilderDisplayRule;
3220
+ declare const stripQueryBuilderTransientFields: (value: unknown, seen?: WeakMap<object, unknown>) => unknown;
3221
+ /** Merge relative-date rule values against a prior tree (typically last committed filters). */
3222
+ declare const normalizeRelativeDateRules: (nextQuery: unknown, previousQuery: unknown) => unknown;
3223
+ /** Strip + relative-date normalization used by `useReport` `setFilters` and draft-vs-committed UI. */
3224
+ declare function prepareQueryBuilderFiltersForSet(next: unknown, previousCommitted: unknown): unknown;
3225
+ /**
3226
+ * Whether a react-querybuilder draft differs from committed filters in a way that matters
3227
+ * for Apply (ignores transient `id` / `path`, etc.).
3228
+ */
3229
+ declare function areQueryBuilderFilterDraftsDirty(draft: unknown, committed: unknown): boolean;
3230
+ /** Number of leaf filter rules (excludes empty groups). */
3231
+ declare function countFilterRules(value: unknown): number;
3232
+
3233
+ type ReportDetailProps = {
3234
+ /** Display name from the loaded report (e.g. `useReport` `name`). Rendered above the chart when non-empty. */
3235
+ reportTitle?: string;
3236
+ chart?: any;
3237
+ chartLoading: boolean;
3238
+ table?: {
3239
+ columns?: unknown[];
3240
+ rows?: unknown[];
3241
+ };
3242
+ tableLoading: boolean;
3243
+ showLegend?: boolean;
3244
+ /** Strip QuillTable's outer frame when chart type is `table` (cell borders unchanged). */
3245
+ hideTableChartOuterBorder?: boolean;
3246
+ };
3247
+ declare function ReportDetail({ reportTitle, chart, chartLoading, table, tableLoading, showLegend, hideTableChartOuterBorder, }: ReportDetailProps): react_jsx_runtime.JSX.Element;
3248
+
2557
3249
  declare const quillFormat: ({ value, format, }: {
2558
3250
  value: any;
2559
3251
  format: string;
@@ -2631,10 +3323,9 @@ declare const useDashboards: () => {
2631
3323
  };
2632
3324
  declare const useDashboard: (dashboardName: string, config?: {
2633
3325
  pageSize?: number;
2634
- frontendCacheConfig?: {
2635
- cacheType: "memory" | "indexedDB";
2636
- };
2637
- disableBackendCache?: boolean;
3326
+ cacheEnabled?: boolean;
3327
+ cacheType?: "memory" | "idb";
3328
+ showCacheLogs?: boolean;
2638
3329
  }) => {
2639
3330
  isLoading: boolean;
2640
3331
  sections: Record<string, QuillReport[]> | null;
@@ -2666,28 +3357,6 @@ declare const useDashboardReport: (reportId: string, config?: {
2666
3357
  fetchNextPage: () => Promise<void>;
2667
3358
  };
2668
3359
 
2669
- /**
2670
- * Represents a table object returned from /schema2/:id
2671
- */
2672
- type Table = {
2673
- _id: string;
2674
- isSelectStar: boolean;
2675
- displayName: string;
2676
- name: string;
2677
- columns: ColumnInternal[];
2678
- viewQuery: string;
2679
- customFieldInfo: any;
2680
- broken?: boolean;
2681
- error?: string;
2682
- ownerTenantFields?: string[];
2683
- };
2684
- interface UniqueValuesByTable {
2685
- [table: string]: UniqueValuesByColumn;
2686
- }
2687
- interface UniqueValuesByColumn {
2688
- [column: string]: string[];
2689
- }
2690
-
2691
3360
  type ForeignKeyMap = {
2692
3361
  [table: string]: {
2693
3362
  foreignTable: string;
@@ -2777,7 +3446,7 @@ type ReportBuilder = {
2777
3446
  sortField: string;
2778
3447
  sortDirection: 'ASC' | 'DESC';
2779
3448
  } | undefined, fieldKey: 'rowField' | 'columnField' | 'aggregations' | 'rowLimit' | 'sort') => Promise<void>;
2780
- filteredSchema: Table[];
3449
+ filteredSchema: Table$1[];
2781
3450
  foreignKeyMap: ForeignKeyMap;
2782
3451
  schemaData: any;
2783
3452
  client: any;
@@ -2966,20 +3635,20 @@ type CustomField = {
2966
3635
  };
2967
3636
 
2968
3637
  declare const useVirtualTables: () => {
2969
- data: Table[];
3638
+ data: Table$1[];
2970
3639
  isLoading: boolean;
2971
3640
  loadingTables: {
2972
3641
  [key: string]: boolean;
2973
3642
  };
2974
3643
  reloadAll: (client: any, caller?: string) => Promise<{
2975
- schema: Table[];
3644
+ schema: Table$1[];
2976
3645
  customFields: {
2977
3646
  [tableName: string]: CustomField[];
2978
3647
  } | null;
2979
3648
  isSchemaLoading: boolean;
2980
3649
  }>;
2981
- refreshSome: (client: any, tables: Table[]) => Promise<{
2982
- schema: Table[];
3650
+ refreshSome: (client: any, tables: Table$1[]) => Promise<{
3651
+ schema: Table$1[];
2983
3652
  customFields: {
2984
3653
  [tableName: string]: CustomField[];
2985
3654
  } | null;
@@ -3045,42 +3714,6 @@ interface LimitPopoverComponentProps {
3045
3714
  disabled?: boolean;
3046
3715
  }
3047
3716
 
3048
- interface TableComponentProps {
3049
- rows: object[];
3050
- rowCount?: number;
3051
- rowCountIsLoading?: boolean;
3052
- columns: {
3053
- label: string;
3054
- field: string;
3055
- }[];
3056
- currentPage: number;
3057
- sort?: {
3058
- field: string;
3059
- direction: string;
3060
- };
3061
- className?: string;
3062
- containerStyle?: React$1.CSSProperties;
3063
- isLoading?: boolean;
3064
- hideCSVDownloadButton?: boolean;
3065
- downloadCSV?: () => void;
3066
- LoadingComponent?: () => React$1.JSX.Element;
3067
- DownloadCSVButtonComponent?: (props: ButtonComponentProps) => React$1.JSX.Element;
3068
- rowsPerPage?: number;
3069
- emptyStateLabel?: string;
3070
- onPageChange?: (page: number) => void;
3071
- onSortChange?: (sort: {
3072
- field: string;
3073
- direction: string;
3074
- }) => void;
3075
- headerBackgroundColor?: string;
3076
- footerBackgroundColor?: string;
3077
- borderRadius?: string | number;
3078
- borderLeft?: string;
3079
- borderRight?: string;
3080
- borderTop?: string;
3081
- borderBottom?: string;
3082
- }
3083
-
3084
3717
  interface DateRangePickerComponentProps {
3085
3718
  preset: string;
3086
3719
  label?: string;
@@ -3553,4 +4186,4 @@ interface ReportTableProps {
3553
4186
  }
3554
4187
  declare const ReportTable: ({ reportBuilder, TableComponent, }: ReportTableProps) => react_jsx_runtime.JSX.Element;
3555
4188
 
3556
- export { ALL_TENANTS, AddColumns, AddFilters, AddLimit, AddPivot, AddSort, type AxisFormat, type ButtonComponentProps, Calculation, Chart, ChartEditor, type ChartEditorProps, type ChartProps, type CheckboxComponentProps, type ColorMapType, type Column$1 as Column, type ContainerComponentProps, Dashboard, type DashboardDateFilter, type DashboardFilter, DashboardFilterType, DashboardLegacy, type DashboardLegacyProps, type DashboardMultiFilter, type DashboardProps, type DashboardSectionComponentProps, type DashboardSingleFilter, type DashboardTenantFilter, DateOperator, type DateRange, type DateRangePickerComponentProps, type DateRangePickerOption, type DeleteButtonComponentProps, type DraggableColumnComponentProps, type EventBreadcrumb, type EventContext, type EventError, type EventMetadata, type EventTracking, type EventUser, type Filter, type FilterPopoverComponentProps, FilterType, type HeaderComponentProps, type HeaderProps, type InternalDashboardDateFilter, type InternalDashboardTenantFilter, type InternalFilter, type LabelComponentProps, type LimitPopoverComponentProps, type ModalComponentProps, NullOperator, NumberOperator, type Option, type Pivot, type PopoverComponentProps, type QuillCustomInterval, type QuillCustomRelativeInterval, type QuillCustomRepeatingInterval, type QuillCustomStaticInterval, type QuillPreviousMonthInterval, type QuillPreviousQuarterInterval, QuillProvider, type QuillProviderProps, type QuillReport, type QuillReportProps, type QuillTheme, type QuillWeekInterval, ReportBuilder$1 as ReportBuilder, type ReportBuilderColumn, type ReportBuilderLimit, type ReportBuilderProps, type ReportBuilderSort, type ReportBuilderState, ReportTable, SINGLE_TENANT, SQLEditor, type SQLEditorProps, SaveReport, SchemaListComponent, type SelectColumnComponentProps, type SelectComponentProps, type SidebarComponentProps, type SidebarHeadingComponentProps, type SortPopoverComponentProps, StaticChart, type StaticChartProps, StringOperator, Table$1 as Table, type TableComponentProps, type TableProps, type TabsComponentProps, type TextComponentProps, type TextInputComponentProps, ThemeContext, downloadCSV, quillFormat as format, useAllReports, useAskQuill, useDashboard, useDashboardInternal, useDashboardReport, useDashboardReports, useDashboards, useExport, useMemoizedRows, useQuill, useReportBuilder, useReports, useTenants, useVirtualTables };
4189
+ export { ALL_TENANTS, AddColumns, AddFilters, AddLimit, AddPivot, AddSort, type AxisFormat$1 as AxisFormat, type ButtonComponentProps, Calculation, Chart, ChartDisplay, ChartEditor, type ChartEditorProps, type ChartProps, Chat, type ChatModelId, type ChatProps, type CheckboxComponentProps, type ColorMapType, type Column$1 as Column, type ColumnSelectionOption, type ContainerComponentProps, Dashboard, type DashboardDateFilter, type DashboardFilter, DashboardFilterType, DashboardLegacy, type DashboardLegacyProps, type DashboardMultiFilter, type DashboardProps, type DashboardSectionComponentProps, type DashboardSingleFilter, type DashboardTenantFilter, DateOperator, type DateRange, type DateRangePickerComponentProps, type DateRangePickerOption, type DeleteButtonComponentProps, type DraggableColumnComponentProps, type EventBreadcrumb, type EventContext, type EventError, type EventMetadata, type EventTracking, type EventUser, type Filter, type FilterPopoverComponentProps, FilterType, type HeaderComponentProps, type HeaderProps, type InternalDashboardDateFilter, type InternalDashboardTenantFilter, type InternalFilter, type LabelComponentProps, type LimitPopoverComponentProps, type ModalComponentProps, NullOperator, NumberOperator, type Option, type Pivot, type PivotAggregation, type PopoverComponentProps, type QueryBuilderDisplayGroup, type QueryBuilderDisplayRule, type QuillCustomInterval, type QuillCustomRelativeInterval, type QuillCustomRepeatingInterval, type QuillCustomStaticInterval, type QuillPreviousMonthInterval, type QuillPreviousQuarterInterval, QuillProvider, type QuillProviderProps, type QuillReport, type QuillReportProps, type QuillTheme, type QuillWeekInterval, ReportBuilder$1 as ReportBuilder, type ReportBuilderColumn, type ReportBuilderLimit, type ReportBuilderProps, type ReportBuilderSort, type ReportBuilderState, ReportDetail, type ReportDetailProps, ReportTable, SINGLE_TENANT, SQLEditor, type SQLEditorProps, SaveReport, SchemaListComponent, type SelectColumnComponentProps, type SelectComponentProps, type SetReportBuilderInput, type SetReportChartAxesInput, type SetReportTableColumnSidebarPatch, type SidebarComponentProps, type SidebarHeadingComponentProps, type SortPopoverComponentProps, StaticChart, type StaticChartProps, StringOperator, Table, type TableColumnListItem, type TableColumnsController, type TableColumnsControllerItem, type TableComponentProps, type TableProps, type TabsComponentProps, type TextComponentProps, type TextInputComponentProps, ThemeContext, type UseFormAxisConfig, areQueryBuilderFilterDraftsDirty, countFilterRules, downloadCSV, quillFormat as format, isQueryBuilderDisplayGroup, isQueryBuilderDisplayRule, normalizeRelativeDateRules, prepareQueryBuilderFiltersForSet, stripQueryBuilderTransientFields, tableColumnFormatFromUiSelection, useAllReports, useAskQuill, useDashboard, useDashboardInternal, useDashboardReport, useDashboardReports, useDashboards, useExport, useMemoizedRows, useQuill, useReport, useReportBuilder, useReports, useTenants, useVirtualTables };