import { CatDatatableSelection, CatDatatableService, DatatableConfig } from '@catrx/ui/datatable'; import { CatFormConfig, CatFormService } from '@catrx/ui/form'; import { CatComponentBase } from './cat-component.base'; import { CatServiceBase } from './cat-service.base'; import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject'; import { CatDialogService, CatDialogSize } from '@catrx/ui/dialog'; import { CatConfirmService } from '@catrx/ui/confirm'; import { CatCsvService } from '@catrx/ui/utils/csv'; import { CatXlsxService } from '@catrx/ui/utils/xlsx'; import { CatLoaderPageService } from '@catrx/ui/loader-page'; import { CatSnackbarService } from '@catrx/ui/snackbar'; import { Observable } from 'rxjs/internal/Observable'; import * as i0 from "@angular/core"; interface DialogFormOptions { size?: CatDialogSize; title?: string; } export declare abstract class CatCRUDComponentBase extends CatComponentBase { protected readonly formService: CatFormService; protected readonly datatableService: CatDatatableService; protected readonly service: CatServiceBase; protected readonly loaderService?: CatLoaderPageService; protected readonly snackbarService?: CatSnackbarService; protected readonly dialogService?: CatDialogService; protected readonly confirmService?: CatConfirmService; protected readonly exportService?: { csv?: CatCsvService; xlsx?: CatXlsxService; }; protected filterFormBuilder: import("@catrx/ui/form").FormFactory; protected filterValueChanges$: BehaviorSubject; protected selection?: CatDatatableSelection; protected datasource?: EntityType[]; abstract listConfig: DatatableConfig; constructor(formService: CatFormService, datatableService: CatDatatableService, service: CatServiceBase, loaderService?: CatLoaderPageService, snackbarService?: CatSnackbarService, dialogService?: CatDialogService, confirmService?: CatConfirmService, exportService?: { csv?: CatCsvService; xlsx?: CatXlsxService; }); deleteSelected(): void; abstract export(filename: string): void; protected exportByService(settings: { csv?: { filename: string; }; xlsx?: { filename: string; sheetName: string; }; }, service: Observable): void; protected exportCsv(mapItem: (item: EntityType) => any, filename: string, customDatasource?: any[]): void; protected exportXlsx(mapItem: (item: EntityType) => any, filename: string, sheetName: string, customDatasource?: any[]): void; protected openFormDialog(formConfig: CatFormConfig, isEdit: boolean, options?: DialogFormOptions): void; protected reloadList(preservePagination?: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, {}, {}, never, never, false, never>; } export {};