import { AfterViewInit, ChangeDetectorRef, QueryList, OnInit, OnDestroy } from '@angular/core'; import { MatPaginator } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { SdGridMaterialFilterRegister } from './services/grid-filter/grid-filter.model'; import { SdGridMaterialOption } from './models/grid-option.model'; import { ISdGridMaterialConfiguration } from './models/grid-configuration.model'; import { Observable } from 'rxjs'; import { SdNotifyService } from '@sd-angular/core/notify'; import { CdkDragDrop } from '@angular/cdk/drag-drop'; import { SdFilterOperator, SdGridMaterialColumn } from './models/grid-column.model'; import { SdMaterialCellDefDirective } from './directives/sd-material-cell-def.directive'; import { SdGridFilter } from './components/grid-filter/grid-filter.component'; import { SdMaterialFilterDefDirective } from './directives/sd-material-filter-def.directive'; import { SdMaterialSubInformationDefDirective } from './directives/sd-material-sub-information-def.directive'; import { SdMaterialFooterDefDirective } from './directives/sd-material-footer-def.directive'; import { SdMaterialEmptyDataDefDirective } from './directives/sd-material-empty-data-def.directive'; import { SdPopupExport } from './components/popup-export/popup-export.component'; import { SdExportColumn, SdExportFile, SdExportService } from '@sd-angular/core/export'; import { SdGridConfiguration } from './models/grid-config.model'; import { SdGridConfigurationService } from './services/grid-configuration.service'; import { SdQuickAction } from '@sd-angular/core/quick-action'; import { SdGridMaterialItem, SdItem } from './models/grid.model'; import { SdColumnValuesPipe } from './pipes/column-values.pipe'; import { SdEditorHandlerColumnPipe } from './pipes/editor-handler-column.pipe'; import { SdScrollDirective } from '@sd-angular/core/common'; import { SdGridFilterService } from './services/grid-filter/grid-filter.service'; export declare class SdGridMaterial implements OnInit, AfterViewInit, OnDestroy { #private; private ref; configuration: ISdGridMaterialConfiguration; private gridConfigurationService; private exportService; private notifyService; private columnValuesPipe; private gridFilterService; private editorHandlerColumnPipe; sdScroll: SdScrollDirective; filterRegister: SdGridMaterialFilterRegister; key: string; gridConfigurationObserver: Observable; quickAction: SdQuickAction; gridFilter: SdGridFilter; set _gridFilter(gridFilter: SdGridFilter); set option(option: SdGridMaterialOption); gridOption: SdGridMaterialOption; items: SdGridMaterialItem[]; selectedItems: T[]; total: number; isLoading: boolean; isHiddenPaginator: boolean; set paginator(paginator: MatPaginator); set sort(sort: MatSort); sdPopupExport: SdPopupExport; sdSubInformation: SdMaterialSubInformationDefDirective; sdEmptyData: SdMaterialEmptyDataDefDirective; sdCellDefs: QueryList; cellDef: { [column: string]: SdMaterialCellDefDirective; }; sdFooterDefs: QueryList; footerDef: { [column: string]: SdMaterialFooterDefDirective; }; hasFooter: boolean; sdFilterDefs: QueryList; filterDefs: SdMaterialFilterDefDirective[]; columnOperator: Record; columnFilter: Record; isExporting: boolean; isSelectAll: boolean; exportTitle: string; constructor(ref: ChangeDetectorRef, configuration: ISdGridMaterialConfiguration, gridConfigurationService: SdGridConfigurationService, exportService: SdExportService, notifyService: SdNotifyService, columnValuesPipe: SdColumnValuesPipe, gridFilterService: SdGridFilterService, editorHandlerColumnPipe: SdEditorHandlerColumnPipe); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; reload: (force?: boolean) => Promise; drop(event: CdkDragDrop, columns: string[]): void; onExport: (args: { file: SdExportFile; columns: SdExportColumn[]; isCSV: boolean; }) => Promise; onFilterChange: () => void; onExpand: (rowData: SdGridMaterialItem) => Promise; onSelect: (rowData: SdGridMaterialItem) => void; onSelectAll: () => void; onClearSelection: (items?: SdGridMaterialItem[]) => void; clearFilter: () => void; setFilter: (args: { columnFilter?: Record; externalFilter?: Record; filterDef?: Record; }) => void; onCreate: () => void; onUpdate: (item: SdItem) => void; onSave: (item: SdGridMaterialItem) => Promise; onCancel: (item: SdGridMaterialItem) => void; onRemove: (item: SdGridMaterialItem) => Promise; add: (idx: number, item: T) => void; update: (idx: number, item: T) => void; remove: (idx: number) => void; refreshItem: (idx: number) => void; get editedItems(): (T & { editorErrorMessage: string; })[]; get gridItems(): T[]; get localItems(): T[]; get localGridItems(): T[]; detectChanges: () => void; onOperatorChange: (column: SdGridMaterialColumn, operator: SdFilterOperator) => void; get isEditing(): boolean; }