import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
import { SortDirectionChangeDetails, SortDirection } from '../../interface';
/**
* The ino-table is a custom table used to display sets of data across multiple columns.
* It currently supports different states (selected, active), sorting and loading indication.
*
* > The component is based on the [mdc-data-table](https://github.com/material-components/material-components-web/tree/master/packages/mdc-data-table).
*
* @slot default - Table content (data, not header)
* @slot header-row - `
` element containing the table header cells (td, th, ino-table-header-cell)
* @slot loading-indicator - `` element used for an additional loading state.
*/
export declare class InoTable implements ComponentInterface {
el: HTMLInoTableElement;
/**
* True, if the table is loading data.
*
* Use this in combination with a `ino-progress-bar` having `slot="loading-indicator"` to provide an
* additional horizontal loading bar.
*/
loading?: boolean;
/**
* If true, disables row hover styling.
*
* Useful for simples tables with few rows or columns.
*/
noHover?: boolean;
/**
* Identifier of the column currently sorted by.
*
* Needs to match the column ids provided on `ino-table-header-cell` elements.
*/
sortColumnId?: string;
sortColumnIdChanged(newSortColumnId: string, oldColumnId: string): void;
/**
* Direction of the column currently sorted by.
*
* @See Set `sort-start` attribute on the respective column to change the sort order.
*/
sortDirection?: SortDirection;
sortDirectionChanged(newSortDirection: string): void;
/**
* True, if table header stays visible on vertical scroll
*
*/
stickyHeader?: boolean;
/**
* Emits that the sort direction or column id has changed.
*/
sortChange: EventEmitter;
sortDirectionChangedHandler(e: CustomEvent): void;
componentDidLoad(): void;
private changeSortColumnId;
private changeSortDirection;
private getSortableHeaderColumnCells;
render(): any;
}