// Code generated - EDITING IS FUTILE. DO NOT EDIT.
//
// Generated by:
//     public/app/plugins/gen.go
// Using jennies:
//     TSTypesJenny
//     PluginTsTypesJenny
//
// Run 'make gen-cue' from repository root to regenerate.

// Generated from public/app/plugins/panel/table/panelcfg.cue file.

import * as ui from '@grafana/schema';

/**
 * @deprecated - use common in /packages/grafana-schema/src/common/table.cue instead i.e. `import { TableOptions } from '@grafana/schema';`
 */
export interface Options {
  /**
   * Controls the height of the rows
   */
  cellHeight?: ui.TableCellHeight;
  /**
   * If true, disables all keyboard events in the table. this is used when previewing a table (i.e. suggestions)
   */
  disableKeyboardEvents?: boolean;
  /**
   * Enable pagination on the table
   */
  enablePagination?: boolean;
  /**
   * Represents the index of the selected frame
   */
  frameIndex: number;
  /**
   * Defines the number of columns to freeze on the left side of the table
   */
  frozenColumns?: {
    left?: number;
  };
  /**
   * limits the maximum height of a row, if text wrapping or dynamic height is enabled
   */
  maxRowHeight?: number;
  /**
   * Controls whether the panel should show the header
   */
  showHeader: boolean;
  /**
   * Controls whether the header should show icons for the column types
   */
  showTypeIcons?: boolean;
  /**
   * Used to control row sorting
   */
  sortBy?: Array<ui.TableSortByFieldState>;
}

export const defaultOptions: Partial<Options> = {
  cellHeight: ui.TableCellHeight.Sm,
  frameIndex: 0,
  showHeader: true,
  showTypeIcons: false,
  sortBy: [],
};

export interface FieldConfig extends ui.TableFieldOptions {}
