license import { SortValue } from './constants' ; import { MDCDataTableRowSelectionChangedEventDetail , ProgressIndicatorStyles , RowClickEventData , SortActionEventDetail } from './types' ; /**
 * Defines the shape of the adapter expected by the foundation.
 * Implement this adapter for your framework of choice to delegate updates to
 * the component in your framework of choice. See architecture documentation
 * for more details.
 * https://github.com/material-components/material-components-web/blob/master/docs/code/architecture.md
 */ export interface MDCDataTableAdapter { param className addClass ( className ) : void ; param className removeClass ( className ) : void ; param rowIndex param cssClasses addClassAtRowIndex ( rowIndex , cssClasses ) : void ; return getRowCount ( ) : number ; return getRowElements ( ) : Element [ ] ; param rowIndex return getRowIdAtIndex ( rowIndex ) : string | null ; param el return getRowIndexByChildElement ( el ) : number ; return getSelectedRowCount ( ) : number ; param rowIndex return isCheckboxAtRowIndexChecked ( rowIndex ) : boolean ; return isHeaderRowCheckboxChecked ( ) : boolean ; return isRowsSelectable ( ) : boolean ; param data notifyRowSelectionChanged ( data ) : void ; /**
     * Notifies when header row is checked.
     */ notifySelectedAll ( ) : void ; /**
     * Notifies when header row is unchecked.
     */ notifyUnselectedAll ( ) : void ; /**
     * Notifies when data row is clicked.
     */ notifyRowClick ( detail ) : void ; return registerHeaderRowCheckbox ( ) : Promise < void > | void ; return registerRowCheckboxes ( ) : Promise < void > | void ; param rowIndex param cssClasses removeClassAtRowIndex ( rowIndex , cssClasses ) : void ; param rowIndex param attr param value setAttributeAtRowIndex ( rowIndex , attr , value ) : void ; param checked setHeaderRowCheckboxChecked ( checked ) : void ; param indeterminate setHeaderRowCheckboxIndeterminate ( indeterminate ) : void ; param rowIndex param checked setRowCheckboxCheckedAtIndex ( rowIndex , checked ) : void ; return getHeaderCellCount ( ) : number ; return getHeaderCellElements ( ) : Element [ ] ; return getAttributeByHeaderCellIndex ( columnIndex , attribute ) : string | null ; /**
     * Sets attribute of a header cell by index.
     */ setAttributeByHeaderCellIndex ( columnIndex , attribute , value ) : void ; /**
     * Sets class name of a header cell by index.
     */ setClassNameByHeaderCellIndex ( columnIndex , className ) : void ; /**
     * Removes a class name of a header cell by index.
     */ removeClassNameByHeaderCellIndex ( columnIndex , className ) : void ; /**
     * Notifies when column is sorted.
     */ notifySortAction ( data ) : void ; return getTableContainerHeight ( ) : number ; return getTableHeaderHeight ( ) : number ; /**
     * Sets progress indicator CSS styles to position it on top of table body.
     */ setProgressIndicatorStyles ( styles ) : void ; /**
     * Sets appropriate sort status label by header cell index. Skips setting sort
     * status label if header cell is not sortable.
     *
     * Example status label to set for sortValue:
     *
     *   - `SortValue.ASCENDING`: 'Sorted in ascending order'
     *   - `SortValue.DESCENDING`: 'Sorted in descending order'
     *   - `SortValue.NONE`: '' (Empty string)
     */ setSortStatusLabelByHeaderCellIndex ( columnIndex , sortValue ) : void ; }