import { OnInit, OnDestroy, AfterViewInit } from '@angular/core';
import { ParamFindData, TColumnDataTableDef, TypeFieldDataView, CrudDataService_ListView, CrudFiltreRecherche, ExportListDataParams, ORofAndFilters, FiltreRechercheService, NotificationService, TOptionListeSelectValues, TOptionExportData } from 'sgc-share-lib';
import { Subscription } from 'rxjs';
import { ActivatedRoute, Router } from '@angular/router';
import { MatSort } from '@angular/material/sort';
import { CrudDataService_ReportView, CrudDataService_StatisticsView, CrudDataSource, TypeViewList } from './model/sg-ng-model';
import { PageEvent } from '@angular/material/paginator';
import * as i0 from "@angular/core";
export declare class SgcNgCrudViewListComponent<TDataList, TDataImport, TDataExport> implements OnInit, AfterViewInit, OnDestroy {
    protected route: ActivatedRoute;
    protected router: Router;
    protected readonly notificationService: NotificationService;
    protected filtreRechercheService: FiltreRechercheService;
    css_heightMainDiv: string;
    crudDataService_List: CrudDataService_ListView<TDataList>;
    crudDataService_Report?: CrudDataService_ReportView<TDataExport>;
    crudDataService_Statistics?: CrudDataService_StatisticsView<TDataList>;
    useRoutingForNavigate: boolean;
    selectedTypeViewList: TypeViewList;
    isMenuVisible: boolean;
    isPanelExportOpen: boolean;
    toggleMenuSubscription: Subscription;
    loadingSubscription: Subscription;
    listeTypeExportFormat: Array<TOptionListeSelectValues>;
    listeTypeExportOrientationPage: Array<TOptionListeSelectValues>;
    listeTypeExportHeaderDataValueFrom: Array<TOptionListeSelectValues>;
    selectedExportOption: TOptionExportData;
    listeAllColsExport: Array<TOptionListeSelectValues>;
    changeActiveMenuSubscription: Subscription;
    svc_dataKeyField: string;
    svc_titreViewDataList?: string;
    svc_cols: Array<TColumnDataTableDef>;
    svc_exportColumns?: any[];
    svc_globalFiltersColumns: string[];
    svc_urlNavigatePageCreateOrEdit?: string;
    svc_urlNavigatePageImport?: string;
    nbRowsPage: number;
    pageCourant: number;
    totalRecords: number;
    pageEvent?: PageEvent;
    listeColsGlobalFilter: string[];
    paramsFindData: ParamFindData;
    dataSource: CrudDataSource<TDataList>;
    sort: MatSort | null;
    showCreateButton: boolean;
    showEditButton: boolean;
    showDeleteButton: boolean;
    showImportButton: boolean;
    showMaintenanceButton: boolean;
    showExportButton: boolean;
    filtreRechercheSubscription: Subscription;
    filtres: ORofAndFilters;
    staticFiltres: ORofAndFilters;
    crudFiltreRecherhe: CrudFiltreRecherche;
    searchGlobalInputValue: string;
    exportParams: ExportListDataParams;
    constructor(route: ActivatedRoute, router: Router, notificationService: NotificationService, filtreRechercheService: FiltreRechercheService);
    myInit: () => void;
    onPrepareList: (responseResolveData: any) => void;
    setStaticParameters: () => void;
    afterDelete: () => void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    refreshParamsFindData(): void;
    resetParamsFindData(): void;
    handlePaginatorChangeEvent(e?: any): void;
    applyGlobalFilter(event: Event): void;
    resetGlobalFilter(event: Event): void;
    getColumnsToDisplay(): Array<TColumnDataTableDef>;
    getColumnsNameToDisplay(): Array<string>;
    /*************************************************************/
    /** */
    combineStaticFiltertoFilter(): void;
    /*************************************************************/
    /** */
    combineDatatableFilterValues(): void;
    /*************************************************************/
    /** */
    onFetch(): void;
    /*************************************************************/
    /** */
    navigateToEditView(): void;
    /*************************************************************/
    /** */
    navigateToCreateView(): void;
    /*************************************************************/
    /** */
    navigateToImportView(): void;
    /*************************************************************/
    /** */
    deleteData(): void;
    /*************************************************************/
    /** */
    /*************************************************************/
    rowClicked(mySelectedRowData: TDataList): void;
    rowDblClicked(mySelectedRowData: TDataList): void;
    isSelectedDataRow(myrow: TDataList): boolean;
    /** */
    isColTypeDate(col: TColumnDataTableDef): boolean;
    isColTypeBooleen(col: TColumnDataTableDef): boolean;
    isColTypeNombre(col: TColumnDataTableDef): boolean;
    isColTypeTexte(col: TColumnDataTableDef): boolean;
    actionCustomGridView(): void;
    export(): void;
    /*************************************************************/
    getFilterTypeFromTypeFieldData(typefielddata: TypeFieldDataView): string;
    /*************************************************************/
    getDefaultFilterMatchmodeFromTypeFieldData(typefielddata: TypeFieldDataView): string;
    isTypeViewList_DataGrid(): boolean;
    resetTypeViewListTo_DataGrid(): void;
    isTypeViewList_Report(): boolean;
    resetTypeViewListTo_Report(): void;
    isTypeViewList_Statistics(): boolean;
    resetTypeViewListTo_Statistics(): void;
    private onTypeViewListChange;
    isSelectedTypeExportFormat_CSV(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<SgcNgCrudViewListComponent<any, any, any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SgcNgCrudViewListComponent<any, any, any>, "sgc-ng-crud-view-list", never, { "css_heightMainDiv": { "alias": "css_heightMainDiv"; "required": false; }; "crudDataService_List": { "alias": "crudDataService_List"; "required": false; }; "crudDataService_Report": { "alias": "crudDataService_Report"; "required": false; }; "crudDataService_Statistics": { "alias": "crudDataService_Statistics"; "required": false; }; "useRoutingForNavigate": { "alias": "useRoutingForNavigate"; "required": false; }; "selectedTypeViewList": { "alias": "selectedTypeViewList"; "required": false; }; }, {}, never, never, false, never>;
}
