import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core'; import { Observable } from 'rxjs'; import { MDCComponent } from '@angular-mdc/web/base'; import { MdcCheckbox, MdcCheckboxChange } from '@angular-mdc/web/checkbox'; import { MDCDataTableHeaderCell, MDCDataTableRow } from './data-table.directives'; import { MDCDataTableFoundation } from '@material/data-table'; export interface MDCDataTableRowSelectionChangedEvent { index: number; id: string | null; selected: boolean; } export declare class MDCDataTable extends MDCComponent implements AfterViewInit, OnDestroy { elementRef: ElementRef; /** Emits whenever the component is destroyed. */ private _destroyed; private _headerCheckbox; private _headerCheckboxSubscription; /** Subscription to checkbox events in rows. */ private _rowCheckboxesSubscription; /** Combined stream of all checkbox row change events. */ get rowCheckboxChanges(): Observable; /** Emitted when all rows are selected. */ readonly selectedAll: EventEmitter; /** Emitted when all rows are unselected. */ readonly unselectedAll: EventEmitter; /** Emitted when a row is selected. */ readonly selectionChanged: EventEmitter; rows: QueryList; headerCells: QueryList; getDefaultFoundation(): MDCDataTableFoundation; constructor(elementRef: ElementRef); ngAfterViewInit(): void; ngOnDestroy(): void; /** * Re-initializes header row checkbox and row checkboxes when selectable rows are added or removed from table. * Use this if registering checkbox is asynchronous. */ layoutAsync(): Promise; /** * Re-initializes header row checkbox and row checkboxes when selectable rows are added or removed from table. * Use this if registering checkbox is synchronous. */ layout(): void; /** * @return Returns array of selected row ids. */ getSelectedRowIds(): Array; /** * Sets selected row ids. Overwrites previously selected rows. * @param rowIds Array of row ids that needs to be selected. */ setSelectedRowIds(rowIds: string[]): void; getRows(): MDCDataTableRow[]; getHeaderCheckbox(): MdcCheckbox | undefined; private _unsubscribeHeaderCheckbox; private _unsubscribeRowCheckboxes; private _registerHeaderCheckbox; private _registerRowCheckboxes; }