import { Injector } from '@angular/core'; import { Observable } from 'rxjs'; import { IColumn } from '../column'; import { IDataSource, IServerSearchFunction } from '../dataSources/index'; import { IFilter, IFilterGroup, IFilterGroupSettings, IModeFilterGroup, IModeFilterGroupSettings, IRangeFilterGroup, IRangeFilterGroupSettings, SelectFilter, ISelectFilterSettings, IDateFilter, IDateFilterSettings } from '../filters/index'; export declare enum CardContainerType { standard = 0, selectable = 1, } export interface ICardContainerSettings { search?: boolean; paging?: boolean; maxColumnSorts?: number; permanentFooters?: boolean; disableSelection?: { (item: any): string; }; } export interface ICardContainerInstance { } export interface ICardContainerConstructor { search?: boolean; paging?: boolean; maxColumnSorts?: number; permanentFooters?: boolean; disableSelection?: { (item: any): string; }; columns: IColumn[]; dataSource: IDataSource; filters: IFilter[]; } export declare class CardContainerBuilderService { private injector; constructor(injector: Injector); getInstance(settings: ICardContainerSettings): ICardContainerInstance; addColumn(container: ICardContainerInstance, column: IColumn): void; buildObservableDataSource(container: ICardContainerInstance, data$: Observable): IDataSource; buildSmartDataSource(container: ICardContainerInstance, getDataSet: IServerSearchFunction): IDataSource; buildFilterGroup(container: ICardContainerInstance, settings: IFilterGroupSettings): IFilterGroup; buildModeFilterGroup(container: ICardContainerInstance, settings: IModeFilterGroupSettings): IModeFilterGroup; buildRangeFilterGroup(container: ICardContainerInstance, settings: IRangeFilterGroupSettings): IRangeFilterGroup; buildSelectFilter(container: ICardContainerInstance, settings: ISelectFilterSettings): SelectFilter; buildDateFilter(container: ICardContainerInstance, settings: IDateFilterSettings): IDateFilter; }