import { CollectionViewer, DataSource } from '@angular/cdk/collections';
import { CrudDataService, CrudDataService_ListView, ParamFindData } from 'sgc-share-lib';
import { Observable } from 'rxjs';
import { HttpClient } from '@angular/common/http';
export declare enum TypeViewList {
    DATAGRID_VIEW = 0,
    REPORT_VIEW = 1,
    STATISTICS_VIEW = 2
}
export declare class CrudDataSource<TDataList> implements DataSource<TDataList> {
    protected crudDataService: CrudDataService_ListView<TDataList>;
    private dataSubject;
    private loadingSubject;
    totalRecords: number;
    loading$: Observable<boolean>;
    constructor(crudDataService: CrudDataService_ListView<TDataList>);
    connect(collectionViewer: CollectionViewer): Observable<TDataList[]>;
    disconnect(collectionViewer: CollectionViewer): void;
    loadData(findParams: ParamFindData): void;
}
/**
 *
 */
export declare class CrudDataService_ReportView<TDataExport> extends CrudDataService<any, any, any, any, TDataExport> {
    titreReportView: string;
    urlNavigatePageListView: string;
    constructor(myHttpClient: HttpClient, myDataKeyField: string, myTitreView?: string, myUrlNavigateListView?: string);
}
/**
 *
 */
export declare class CrudDataService_StatisticsView<TDataList> extends CrudDataService<TDataList, any, any, any, any> {
    titreStatisticsView: string;
    urlNavigatePageListView: string;
    constructor(myHttpClient: HttpClient, myDataKeyField: string, myTitreView?: string, myUrlNavigateListView?: string);
}
