import { OjWebElement } from '../';

/**
 * This is the base class for oj-table WebElement, and is generated from the
 * component's metadata. Do not modify these contents since they'll be replaced
 * during the next generation.
 * Put overrides into the WebElements's subclass, OjTable.ts.
 */
export class OjTableBase extends OjWebElement {
  /**
   * Gets the value of <code>accessibility</code> property.
   * Accessibility attributes.
   * @return The value of <code>accessibility</code> property.
   *
   */
  public getAccessibility(): Promise<Accessibility | null> {
    return this.getProperty<Accessibility | null>('accessibility');
  }

  /**
   * Gets the value of <code>addRowDisplay</code> property.
   * Specifies whether to show or hide add new row when addRowTemplate or addRowCellTemplate is present.
   * @return The value of <code>addRowDisplay</code> property.
   *
   */
  public getAddRowDisplay(): Promise<string> {
    return this.getProperty<string>('addRowDisplay');
  }

  /**
   * Gets the value of <code>as</code> property.
   * An alias for the '$current' context variable passed to the content of the cell template.
   * @return The value of <code>as</code> property.
   * @deprecated Since 6.2.0. Set the alias directly on the template element using the data-oj-as attribute instead.
   */
  public getAs(): Promise<string> {
    return this.getProperty<string>('as');
  }

  /**
   * Gets the value of <code>columnResizeBehavior</code> property.
   * Specifies the column resize behavior for this Table. See the Help documentation for more information.
   * @return The value of <code>columnResizeBehavior</code> property.
   *
   */
  public getColumnResizeBehavior(): Promise<string> {
    return this.getProperty<string>('columnResizeBehavior');
  }

  /**
   * Sets the value of <code>columns</code> property.
   * An array of column definitions. See the Help documentation for more information.
   * @param columns The value to set for <code>columns</code>
   *
   */
  public changeColumns(columns: Array<Columns> | null): Promise<void> {
    return this.setProperty<Array<Columns> | null>('columns', columns);
  }

  /**
   * Gets the value of <code>columns</code> property.
   * An array of column definitions. See the Help documentation for more information.
   * @return The value of <code>columns</code> property.
   *
   */
  public getColumns(): Promise<Array<Columns> | null> {
    return this.getProperty<Array<Columns> | null>('columns');
  }

  /**
   * Gets the value of <code>columnsDefault</code> property.
   * Default values to apply to all column objects.
   * @return The value of <code>columnsDefault</code> property.
   *
   */
  public getColumnsDefault(): Promise<ColumnsDefault | null> {
    return this.getProperty<ColumnsDefault | null>('columnsDefault');
  }

  /**
   * Sets the value of <code>currentRow</code> property.
   * Specifies the row that currently has keyboard focus. See the Help documentation for more information.
   * @param currentRow The value to set for <code>currentRow</code>
   *
   */
  public changeCurrentRow(currentRow: object): Promise<void> {
    return this.setProperty<object>('currentRow', currentRow);
  }

  /**
   * Gets the value of <code>currentRow</code> property.
   * Specifies the row that currently has keyboard focus. See the Help documentation for more information.
   * @return The value of <code>currentRow</code> property.
   *
   */
  public getCurrentRow(): Promise<object> {
    return this.getProperty<object>('currentRow');
  }

  /**
   * Gets the value of <code>display</code> property.
   * Specifies whether to display this table in list or grid mode. See the Help documentation for more information.
   * @return The value of <code>display</code> property.
   *
   */
  public getDisplay(): Promise<string> {
    return this.getProperty<string>('display');
  }

  /**
   * Gets the value of <code>dnd</code> property.
   * Specifies drag and drop features. See the Help documentation for more information.
   * @return The value of <code>dnd</code> property.
   *
   */
  public getDnd(): Promise<Dnd> {
    return this.getProperty<Dnd>('dnd');
  }

  /**
   * Gets the value of <code>editMode</code> property.
   * Specifies if the table is read-only or editable. See the Help documentation for more information.
   * @return The value of <code>editMode</code> property.
   *
   */
  public getEditMode(): Promise<string> {
    return this.getProperty<string>('editMode');
  }

  /**
   * Sets the value of <code>editRow</code> property.
   * Specifies the row that is currently being edited. See the Help documentation for more information.
   * @param editRow The value to set for <code>editRow</code>
   *
   */
  public changeEditRow(editRow: object): Promise<void> {
    return this.setProperty<object>('editRow', editRow);
  }

  /**
   * Gets the value of <code>editRow</code> property.
   * Specifies the row that is currently being edited. See the Help documentation for more information.
   * @return The value of <code>editRow</code> property.
   *
   */
  public getEditRow(): Promise<object> {
    return this.getProperty<object>('editRow');
  }

  /**
   * Gets the value of <code>firstSelectedRow</code> property.
   * Read-only property used for retrieving the key and data of the first selected row. See the Help documentation for more information.
   * @return The value of <code>firstSelectedRow</code> property.
   *
   */
  public getFirstSelectedRow(): Promise<FirstSelectedRow> {
    return this.getProperty<FirstSelectedRow>('firstSelectedRow');
  }

  /**
   * Gets the value of <code>horizontalGridVisible</code> property.
   * Specifies the visibility of the horizontal gridlines. See the Help documentation for more information.
   * @return The value of <code>horizontalGridVisible</code> property.
   *
   */
  public getHorizontalGridVisible(): Promise<string> {
    return this.getProperty<string>('horizontalGridVisible');
  }

  /**
   * Gets the value of <code>layout</code> property.
   * The column sizing method used for the Table and its columns.
   * @return The value of <code>layout</code> property.
   *
   */
  public getLayout(): Promise<string> {
    return this.getProperty<string>('layout');
  }

  /**
   * Gets the value of <code>row</code> property.
   * Customizes the functionality of each row in the table.
   * @return The value of <code>row</code> property.
   *
   */
  public getRow(): Promise<Row> {
    return this.getProperty<Row>('row');
  }

  /**
   * Gets the value of <code>rowRenderer</code> property.
   * A function that returns row content. The function takes a context argument, provided by the table. See the Help documentation for more information.
   * @return The value of <code>rowRenderer</code> property.
   *
   */
  public getRowRenderer(): Promise<null | null> {
    return this.getProperty<null | null>('rowRenderer');
  }

  /**
   * Gets the value of <code>scrollPolicy</code> property.
   * Specifies how data are fetched as user scrolls down the table.
   * @return The value of <code>scrollPolicy</code> property.
   *
   */
  public getScrollPolicy(): Promise<string> {
    return this.getProperty<string>('scrollPolicy');
  }

  /**
   * Gets the value of <code>scrollPolicyOptions</code> property.
   * Specifies fetch options for scrolling behaviors that trigger data fetches.
   * @return The value of <code>scrollPolicyOptions</code> property.
   *
   */
  public getScrollPolicyOptions(): Promise<ScrollPolicyOptions | null> {
    return this.getProperty<ScrollPolicyOptions | null>('scrollPolicyOptions');
  }

  /**
   * Sets the value of <code>scrollPosition</code> property.
   * Specifies the scroll position of the table. See the Help documentation for more information.
   * @param scrollPosition The value to set for <code>scrollPosition</code>
   *
   */
  public changeScrollPosition(scrollPosition: ScrollPosition): Promise<void> {
    return this.setProperty<ScrollPosition>('scrollPosition', scrollPosition);
  }

  /**
   * Gets the value of <code>scrollPosition</code> property.
   * Specifies the scroll position of the table. See the Help documentation for more information.
   * @return The value of <code>scrollPosition</code> property.
   *
   */
  public getScrollPosition(): Promise<ScrollPosition> {
    return this.getProperty<ScrollPosition>('scrollPosition');
  }

  /**
   * Gets the value of <code>scrollToKey</code> property.
   * Specifies the behavior when Table needs to scroll to a position based on an item key.
   * @return The value of <code>scrollToKey</code> property.
   *
   */
  public getScrollToKey(): Promise<string | null> {
    return this.getProperty<string | null>('scrollToKey');
  }

  /**
   * Gets the value of <code>selectAllControl</code> property.
   * Specifies the visibility of the select all control. See the Help documentation for more information.
   * @return The value of <code>selectAllControl</code> property.
   *
   */
  public getSelectAllControl(): Promise<string> {
    return this.getProperty<string>('selectAllControl');
  }

  /**
   * Sets the value of <code>selected</code> property.
   * Specifies the current selected rows and/or columns in the table. See the Help documentation for more information.
   * @param selected The value to set for <code>selected</code>
   *
   */
  public changeSelected(selected: Selected): Promise<void> {
    return this.setProperty<Selected>('selected', selected);
  }

  /**
   * Gets the value of <code>selected</code> property.
   * Specifies the current selected rows and/or columns in the table. See the Help documentation for more information.
   * @return The value of <code>selected</code> property.
   *
   */
  public getSelected(): Promise<Selected> {
    return this.getProperty<Selected>('selected');
  }

  /**
   * Sets the value of <code>selection</code> property.
   * Specifies the current selections in the table. See the Help documentation for more information.
   * @param selection The value to set for <code>selection</code>
   * @deprecated Since 7.0.0. Use selected attribute instead.
   */
  public changeSelection(selection: Array<object>): Promise<void> {
    return this.setProperty<Array<object>>('selection', selection);
  }

  /**
   * Gets the value of <code>selection</code> property.
   * Specifies the current selections in the table. See the Help documentation for more information.
   * @return The value of <code>selection</code> property.
   * @deprecated Since 7.0.0. Use selected attribute instead.
   */
  public getSelection(): Promise<Array<object>> {
    return this.getProperty<Array<object>>('selection');
  }

  /**
   * Gets the value of <code>selectionMode</code> property.
   * Specifies the row and column selection modes.
   * @return The value of <code>selectionMode</code> property.
   *
   */
  public getSelectionMode(): Promise<SelectionMode | null> {
    return this.getProperty<SelectionMode | null>('selectionMode');
  }

  /**
   * Gets the value of <code>selectionRequired</code> property.
   * Specifies whether selection is required on the Table.
   * @return The value of <code>selectionRequired</code> property.
   *
   */
  public getSelectionRequired(): Promise<boolean> {
    return this.getProperty<boolean>('selectionRequired');
  }

  /**
   * Gets the value of <code>translations</code> property.
   * A collection of translated resources from the translation bundle, or null if this component has no resources.
   * @return The value of <code>translations</code> property.
   *
   */
  public getTranslations(): Promise<Translations | null> {
    return this.getProperty<Translations | null>('translations');
  }

  /**
   * Gets the value of <code>verticalGridVisible</code> property.
   * Specifies the visibility of the vertical gridlines. See the Help documentation for more information.
   * @return The value of <code>verticalGridVisible</code> property.
   *
   */
  public getVerticalGridVisible(): Promise<string> {
    return this.getProperty<string>('verticalGridVisible');
  }
}
export interface Accessibility {
  /**
   * Specifies the column ids to be used as the row headers by screen readers. See the Help documentation for more information.
   */
  rowHeader: string | Array<string>;
}
export interface Columns {
  /**
   * The CSS class to apply to the column cells.
   */
  className: string | null;
  /**
   * The data field that this column refers to.
   */
  field: string | null;
  /**
   * The CSS class to apply to the footer cell.
   */
  footerClassName: string | null;
  /**
   * A function that renders the content of the footer cell. The function takes a context argument, provided by the Table. See the Help documentation for more information.
   */
  footerRenderer: null | null;
  /**
   * The CSS styling to apply to the footer cell.
   */
  footerStyle: string | null;
  /**
   * The slot name used to specify the template for rendering the footer cell. See the Help documentation for more information.
   */
  footerTemplate: string | null;
  /**
   * The edge that this column is frozen against. If present, the column will not be allowed to scroll past the specified edge of the Table.
   */
  frozenEdge: string | null;
  /**
   * The CSS class to apply to the column header text.
   */
  headerClassName: string | null;
  /**
   * A function that renders the content of the header. The function takes a context argument, provided by the Table. See the Help documentation for more information.
   */
  headerRenderer: null | null;
  /**
   * The CSS styling to apply to the column header text.
   */
  headerStyle: string | null;
  /**
   * The slot name used to specify the template for rendering the header cell. See the Help documentation for more information.
   */
  headerTemplate: string | null;
  /**
   * Text to display in the header of the column.
   */
  headerText: string | null;
  /**
   * The identifier for the column. This property is required when column selection is enabled.
   */
  id: string | null;
  /**
   * The maximum width style string of the column. See the Help documentation for more information.
   */
  maxWidth: string | number | null;
  /**
   * The minimum width style string of the column. See the Help documentation for more information.
   */
  minWidth: string | number | null;
  /**
   * A function that renders the content of the cell. The function takes a context argument, provided by the Table. See the Help documentation for more information.
   */
  renderer: null | null;
  /**
   * Enable or disable width resizing along the column end headers.
   */
  resizable: string;
  /**
   * Whether the column header should display a required icon. When set to true, the Table's default column header rendering, tooltip, and assistive text will convey this information to the user as per the specified theme. If a custom header renderer or header template is specified, the application is responsible for rendering the icon.
   */
  showRequired: boolean;
  /**
   * Specifies the row attribute used for sorting when a sort is invoked on this column. See the Help documentation for more information.
   */
  sortProperty: string | null;
  /**
   * Specifies whether a column is sortable. See the Help documentation for more information.
   */
  sortable: string;
  /**
   * The CSS styling to apply to the column cells.
   */
  style: string | null;
  /**
   * The slot name used to specify the template for rendering the cell. See the Help documentation for more information.
   */
  template: string | null;
  /**
   * The sizing weight of the column in a fixed layout. See the Help documentation for more information.
   */
  weight: number | null;
  /**
   * The width style string of the column. See the Help documentation for more information.
   */
  width: string | number | null;
}
export interface ColumnsDefault {
  /**
   * The CSS class to apply to the column cells.
   */
  className: string | null;
  /**
   * The data field that this column refers to.
   */
  field: string | null;
  /**
   * The CSS class to apply to the footer cell.
   */
  footerClassName: string | null;
  /**
   * A function that renders the content of the footer cell. The function takes a context argument, provided by the Table. See the Help documentation for more information.
   */
  footerRenderer: null | null;
  /**
   * The CSS styling to apply to the footer cell.
   */
  footerStyle: string | null;
  /**
   * The slot name used to specify the template for rendering the footer cell. See the Help documentation for more information.
   * @deprecated Since 7.0.0. Use the footerTemplate slot instead.
   */
  footerTemplate: string | null;
  /**
   * The CSS class to apply to the column header text.
   */
  headerClassName: string | null;
  /**
   * A function that renders the content of the header. The function takes a context argument, provided by the Table. See the Help documentation for more information.
   */
  headerRenderer: null | null;
  /**
   * The CSS styling to apply to the column header text.
   */
  headerStyle: string | null;
  /**
   * The slot name used to specify the template for rendering the header cell. See the Help documentation for more information.
   * @deprecated Since 7.0.0. Use the headerTemplate slot instead.
   */
  headerTemplate: string | null;
  /**
   * Text to display in the header of the column.
   */
  headerText: string | null;
  /**
   * The maximum width style string of the column. See the Help documentation for more information.
   */
  maxWidth: string | number | null;
  /**
   * The minimum width style string of the column. See the Help documentation for more information.
   */
  minWidth: string | number | null;
  /**
   * A function that renders the content of the cell. The function takes a context argument, provided by the Table. See the Help documentation for more information.
   */
  renderer: null | null;
  /**
   * Enable or disable width resizing along the column end headers.
   */
  resizable: string;
  /**
   * Whether the column header should display a required icon. When set to true, the Table's default column header rendering, tooltip, and assistive text will convey this information to the user as per the specified theme. If a custom header renderer or header template is specified, the application is responsible for rendering the icon.
   */
  showRequired: boolean;
  /**
   * Specifies the row attribute used for sorting when a sort is invoked on this column. See the Help documentation for more information.
   */
  sortProperty: string | null;
  /**
   * Specifies whether a column is sortable. See the Help documentation for more information.
   */
  sortable: string;
  /**
   * The CSS styling to apply to the column cells.
   */
  style: string | null;
  /**
   * The slot name used to specify the template for rendering the cell. See the Help documentation for more information.
   * @deprecated Since 7.0.0. Use the template slot instead.
   */
  template: string | null;
  /**
   * The sizing weight of the column in a fixed layout. See the Help documentation for more information.
   */
  weight: number | null;
  /**
   * The width style string of the column. See the Help documentation for more information.
   */
  width: string | number | null;
}
export interface Dnd {
  /**
   * An object that describes drag functionality.
   */
  drag: DndDrag;
  /**
   * An object that describes drop functionality.
   */
  drop: DndDrop;
  /**
   * An object that describes reorder functionality.
   */
  reorder: DndReorder;
}
export interface DndDrag {
  /**
   * An object that describes drag functionality for a selected set of rows. See the Help documentation for more information.
   */
  rows: DndDragRows;
}
export interface DndDragRows {
  /**
   * The MIME types to use for the dragged data in the dataTransfer object. This can be a string if there is only one type, or an array of strings if multiple types are needed.
   */
  dataTypes: string | Array<string>;
}
export interface DndDrop {
  /**
   * An object that describes drop functionality for a selected set of columns. See the Help documentation for more information.
   */
  columns: DndDropColumns;
  /**
   * An object that describes drop functionality for a selected set of rows. See the Help documentation for more information.
   */
  rows: DndDropRows;
}
export interface DndDropColumns {
  /**
   * A data type or an array of data types this element can accept.
   */
  dataTypes: string | Array<string>;
}
export interface DndDropRows {
  /**
   * A data type or an array of data types this element can accept.
   */
  dataTypes: string | Array<string>;
}
export interface DndReorder {
  /**
   * An object that describes reorder functionality for a selected column. See the Help documentation for more information.
   */
  columns: string;
}
export interface FirstSelectedRow {
  /**
   * The data for first selected row.
   */
  data: any;
  /**
   * The key of first selected row.
   */
  key: any;
}
export interface Row {
  /**
   * Specifies whether the row can be edited. See the Help documentation for more information.
   */
  editable: null | null;
  /**
   * Specifies whether the row can be selected. See the Help documentation for more information.
   */
  selectable: null | null;
  /**
   * Specifies whether the row is sticky. See the Help documentation for more information.
   */
  sticky: null | null;
}
export interface ScrollPolicyOptions {
  /**
   * The number of data rows to fetch in each block.
   */
  fetchSize: number;
  /**
   * The maximum number of rows to display before fetching more data rows will be stopped.
   */
  maxCount: number;
  /**
   * The CSS selector string to an element used to determine the scroll position as well as the maximum scroll position. See the Help documentation for more information.
   */
  scroller: string | null;
  /**
   * The bottom offset value (in pixels) used for the Table's external scroller. This value is used to specify the location where the Table's footer region becomes 'sticky' when the 'scroller' attribute is specified.
   */
  scrollerOffsetBottom: number | null;
  /**
   * The end offset value (in pixels) used for the Table's external scroller. This value is used to specify the end location where the Table's frozen columns become 'sticky' when the 'scroller' attribute is specified.
   */
  scrollerOffsetEnd: number | null;
  /**
   * The start offset value (in pixels) used for the Table's external scroller. This value is used to specify the start location where the Table's frozen columns become 'sticky' when the 'scroller' attribute is specified.
   */
  scrollerOffsetStart: number | null;
  /**
   * The top offset value (in pixels) used for the Table's external scroller. This value is used to specify the location where the Table's header region becomes 'sticky' when the 'scroller' attribute is specified.
   */
  scrollerOffsetTop: number | null;
}
export interface ScrollPosition {
  /**
   * The zero-based index of the cell at the origin of the table.
   */
  columnIndex: number;
  /**
   * The key of the column. This corresponds to the identifier of the column specified in columns. If the column does not exists then the value is ignored.
   */
  columnKey: string;
  /**
   * The horizontal offset in pixels relative to the column identified by columnKey/columnIndex.
   */
  offsetX: number;
  /**
   * The vertical offset in pixels relative to the row identified by rowKey/rowIndex.
   */
  offsetY: number;
  /**
   * The zero-based index of the cell at the origin of the table. If scrollPolicy is set to 'loadMoreOnScroll and the row index is greater than maxCount set in scrollPolicyOptions, then it will scroll and fetch until the end of the table is reached and there are no more rows to fetch.
   */
  rowIndex: number;
  /**
   * The key of the row. If DataProvider is used for data and the key does not exists in the DataProvider, then the value is ignored. If DataProvider is not used then Table will fetch and scroll until the item is found or the end of the table is reached and there's no more items to fetch.
   */
  rowKey: any;
  /**
   * The horizontal position in pixels.
   */
  x: number;
  /**
   * The vertical position in pixels.
   */
  y: number;
}
export interface Selected {}
export interface SelectionMode {
  /**
   * Specifies the selection mode for columns. By default, column selection is disabled.
   */
  column: string;
  /**
   * Specifies the selection mode for rows. By default, row selection is disabled.
   */
  row: string;
}
export interface Translations {
  /**
   * Provides properties to customize the accessible text for the 'add row' row.
   */
  accessibleAddRow: string;
  /**
   * Provides properties to customize the accessible context for the column index.
   */
  accessibleColumnContext: string;
  /**
   * Provides properties to customize the accessible context for the column footer index.
   */
  accessibleColumnFooterContext: string;
  /**
   * Provides properties to customize the accessible context for the column header index.
   */
  accessibleColumnHeaderContext: string;
  /**
   * Provides properties to customize the accessible text when a cell spans multiple columns.
   */
  accessibleColumnsSpan: string;
  /**
   * Provides properties to customize the accessible text when a cell contains controls.
   */
  accessibleContainsControls: string;
  /**
   * Provides properties to customize the accessible context for the row index.
   */
  accessibleRowContext: string;
  /**
   * Provides properties to customize the accessible text when a header is sorted ascending.
   */
  accessibleSortAscending: string;
  /**
   * Provides properties to customize the accesible text when a header is sorted descending.
   */
  accessibleSortDescending: string;
  /**
   * Provides properties to customize the accessible text when a header is able to be sorted.
   */
  accessibleSortable: string;
  /**
   * Provides properties to customize the accessible context when an item is selected.
   */
  accessibleStateSelected: string;
  /**
   * Provides properties to customize the accessible context when an item is unselected.
   */
  accessibleStateUnselected: string;
  /**
   * Provides properties to customize the accessible context read when the exact row count is unknown.
   */
  accessibleSummaryEstimate: string;
  /**
   * Provides properties to customize the accessible context read when the exact row count is known.
   */
  accessibleSummaryExact: string;
  /**
   * Provides properties to customize the accessible context read when the Table is editable
   */
  editableSummary: string;
  /**
   * Label for the bottom selection affordance on touch devices.
   */
  labelAccSelectionAffordanceBottom: string;
  /**
   * Label for the top selection affordance on touch devices.
   */
  labelAccSelectionAffordanceTop: string;
  /**
   * Provides properties to customize the resize column input label.
   */
  labelColumnWidth: string;
  /**
   * Provides properties to customize the context menu label for exiting non-contiguous selection.
   */
  labelDisableNonContiguousSelection: string;
  /**
   * Edit row label.
   */
  labelEditRow: string;
  /**
   * Provides properties to customize the context menu label for entering non-contiguous selection.
   */
  labelEnableNonContiguousSelection: string;
  /**
   * Provides properties to customize the context menu label for column resize.
   * @deprecated Since 11.1.0. Use labelResizeColumn instead.
   */
  labelResize: string;
  /**
   * Provides properties to customize the context menu label for column resize.
   */
  labelResizeColumn: string;
  /**
   * Provides properties to customize the resize dialog title.
   */
  labelResizeColumnDialog: string;
  /**
   * Provides properties to customize the resize dialog apply button label.
   */
  labelResizeDialogApply: string;
  /**
   * Provides properties to customize the resize popup cancel button.
   */
  labelResizePopupCancel: string;
  /**
   * Provides properties to customize the resize popup spinner label.
   */
  labelResizePopupSpinner: string;
  /**
   * Provides properties to customize the resize popup submit button.
   */
  labelResizePopupSubmit: string;
  /**
   * Select all rows label.
   */
  labelSelectAllRows: string;
  /**
   * Select and Edit row label.
   */
  labelSelectAndEditRow: string;
  /**
   * Select column label.
   */
  labelSelectColum: string;
  /**
   * Select row label.
   */
  labelSelectRow: string;
  /**
   * Context menu label for sort.
   */
  labelSort: string;
  /**
   * Context menu label and sort icon tooltip for sort ascending.
   */
  labelSortAsc: string;
  /**
   * Context menu label and sort icon tooltip for sort descending.
   */
  labelSortDsc: string;
  /**
   * Column resize input width validation.
   */
  msgColumnResizeWidthValidation: string;
  /**
   * Fetching data message.
   * @deprecated Since 16.0.0. This resource is only used with the deprecated Alta theme.
   */
  msgFetchingData: string;
  /**
   * Table initializing message.
   */
  msgInitializing: string;
  /**
   * No data to display message.
   */
  msgNoData: string;
  /**
   * Warning message detail that maxCount has been reached for scrollPolicy=loadMoreOnScroll.
   */
  msgScrollPolicyMaxCountDetail: string;
  /**
   * Warning message summary that maxCount has been reached for scrollPolicy=loadMoreOnScroll.
   */
  msgScrollPolicyMaxCountSummary: string;
  /**
   * Sort ascending status notification for accessibility.
   */
  msgStatusSortAscending: string;
  /**
   * Sort descending status notification for accessibility.
   */
  msgStatusSortDescending: string;
  /**
   * Used for the default required icon tooltip.
   */
  tooltipRequired: string;
}
