import * as i0 from '@angular/core'; import { EventEmitter, ElementRef, OnInit, AfterViewInit, AfterContentInit, OnDestroy, QueryList, TemplateRef } from '@angular/core'; import * as i1 from '@angular/common'; import { MatPaginator, PageEvent } from '@angular/material/paginator'; import { SortDirection, MatSort } from '@angular/material/sort'; import { SearchFilterDto, SortDto, SearchFilterTypesDto, AssetRepoGraphQlDataSource } from '@meshmakers/octo-services'; import { Observable, BehaviorSubject } from 'rxjs'; declare class ListElementModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class OctoListNavigationDataInfo { skip: number; take: number; searchFilter?: SearchFilterDto; sort?: SortDto[]; constructor(); } declare class OctoListNavigationOptions { language: string | null; searchFilterType?: SearchFilterTypesDto; searchFilterAttributePaths?: string[]; constructor(); } declare class OctoListNavigation { private readonly paginator; private readonly sort; private readonly searchBox?; private readonly octoOptions?; loadDataRequest: EventEmitter; lastSortDirection: SortDirection | null; lastSortField: string | null; lastSearchText: string | null; constructor(paginator: MatPaginator, sort: MatSort, searchBox?: ElementRef | undefined, octoOptions?: OctoListNavigationOptions | undefined); get loadDataInfo(): OctoListNavigationDataInfo; init(): void; private loadData; } interface TableColumn { displayName?: string | null; dataKey: string; templateName?: string; sortingDisabled?: boolean; } declare function getDisplayName(column: TableColumn): string; declare function getDataKey(column: TableColumn): string; type ColumnDefinition = string | TableColumn; interface ActionColumn { displayText: string; actionId: string; iconName?: string; svgIconName?: string; } interface ToolbarAction { iconName?: string; svgIconName?: string; route?: string; clickHandler?: () => void; actionText: string; isDisabled?: Observable; isHidden?: Observable; } declare class MmOctoTableComponent implements OnInit, AfterViewInit, AfterContentInit, OnDestroy { dataSource: AssetRepoGraphQlDataSource; cellTemplates: QueryList>; templateMap: Map>; actionColumns: ActionColumn[]; leftToolbarActions: ToolbarAction[]; optionActions: ActionColumn[]; searchFilterColumns: string[]; currentId: string; defaultSortColumn: string; rowIsClickable: boolean; pageSizeOptions: number[]; selectedPageSize: number; rowClicked: EventEmitter; searchFilterStringUpdated: EventEmitter; selectedRowId: string; actionColumnClick: EventEmitter<{ action: string; id: string; entry: any; }>; set columns(cols: ColumnDefinition[]); get columns(): TableColumn[]; _columns: TableColumn[]; selectedRow: any; selectedPageSizeSubject: BehaviorSubject; paginator?: MatPaginator; sort?: MatSort; input?: ElementRef; private loadingSubscription?; private wasLoadingPreviously; private hadFocusBeforeLoading; get columnDataKeys(): string[]; get columnDisplayNames(): string[]; ngOnInit(): void; ngAfterContentInit(): void; ngAfterViewInit(): void; loadData(): void; protected readonly encodeURIComponent: typeof encodeURIComponent; accessElement(element: any, column: TableColumn): any; selectedPageSizeChanged($event: PageEvent): void; getActionDisplayTexts(): string[]; onRowClick(row: any): void; isRowSelected(row: any): boolean; checkSelectedRow(): void; emitRowData(data: { action: string; id: string; entry: any; }): void; hasOptionActions: (_row: any) => boolean; hasActionColumns: () => boolean; protected readonly getDisplayName: typeof getDisplayName; protected readonly getDataKey: typeof getDataKey; isSortable(column: TableColumn): boolean; getTemplate(templateName: string): TemplateRef | undefined; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class MmOctoUiModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { ListElementModule, MmOctoTableComponent, MmOctoUiModule, OctoListNavigation, OctoListNavigationDataInfo, OctoListNavigationOptions, getDataKey, getDisplayName }; export type { ActionColumn, ColumnDefinition, TableColumn, ToolbarAction };