import { DatatableActionButtonConfig, DatatableConfig, DatatableData, CatDatatableDataHttpResponse, CatDatatableSelection, DatatableTypeDataList, ColumOrderType } from './cat-datatable.interface'; import { CatDynamicComponent } from '@catrx/ui/dynamic-component'; import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject'; import { Observable } from 'rxjs/internal/Observable'; import { Subject } from 'rxjs/internal/Subject'; export declare class DatatableFactory { private config; constructor(filter$: Subject | BehaviorSubject, service: (filter: FilterType) => Observable>, loadType?: DatatableTypeDataList); hasSelection(has?: boolean): this; hasActions(has?: boolean): this; hidePaginator(hide?: boolean): this; hideMenuAndPaginator(hide?: boolean): this; disableSelectionLineByRule(rule: (itemLine: DataType) => boolean): this; setActionButton(options: DatatableActionButtonConfig): this; setColumns(columns: string[]): this; setItemLine(options: DatatableData): this; setCustomEmptyComponent(component: CatDynamicComponent): this; setCustomLoaderComponent(component: CatDynamicComponent): this; setOrder(columnIndex: number, direction?: ColumOrderType): this; getSelection(getSelection: (selection: CatDatatableSelection) => void): this; getDatasource(getDatasource: (datasource: DataType[]) => void): this; generate(): DatatableConfig; }