import { OnInit, QueryList } from '@angular/core';
import { IOperationBulk, IResultList } from '@c8y/client';
import { DatePickerComponent, ForOfFilterPipe, OperationBulkRealtimeService } from '@c8y/ngx-components';
import { BulkOperationListItemComponent, OperationStatusOptionsMap } from '@c8y/ngx-components/operations/bulk-operation-list-item';
import { BulkOperationsService, OperationType } from '@c8y/ngx-components/operations/bulk-operations-service';
import { OperationStatusOption } from '@c8y/ngx-components/operations/shared';
import { StatusFilterComponent } from '@c8y/ngx-components/operations/status-filter';
import { BehaviorSubject, Observable } from 'rxjs';
import { BulkOperationModalsService } from './modals/bulk-operation-modals.service';
import * as i0 from "@angular/core";
export declare class BulkOperationsListComponent implements OnInit {
    realtime: OperationBulkRealtimeService;
    private bulkOperationsService;
    private bulkOperationModalsService;
    bulkTypes: OperationType[];
    selectedTypeFilters: OperationType[];
    bulkOperationStatusOptions: OperationStatusOptionsMap;
    BULK_OPERATION_EVENT: string;
    bulkActions: {
        readonly OPEN_ADD_BULK_OPERATION_DIALOG: "openAddBulkOperationDialog";
        readonly CANCEL_ADD_BULK_OPERATION_DIALOG: "cancelAddBulkOperationDialog";
        readonly SELECT_BULK_OPERTION_TYPE: "selectBulkOperationType";
    };
    filterPipe: ForOfFilterPipe<IOperationBulk>;
    refreshLoading: boolean;
    statusFilter$: BehaviorSubject<OperationStatusOption[]>;
    typeFilter$: BehaviorSubject<OperationType[]>;
    timeFilter$: BehaviorSubject<any>;
    reload$: BehaviorSubject<void>;
    listItems: QueryList<BulkOperationListItemComponent>;
    statusFilter: StatusFilterComponent;
    datePicker: DatePickerComponent;
    bulkOperations$: Observable<IResultList<IOperationBulk>>;
    private allFilterFragments;
    constructor(realtime: OperationBulkRealtimeService, bulkOperationsService: BulkOperationsService, bulkOperationModalsService: BulkOperationModalsService);
    ngOnInit(): void;
    filterByType(bulkOperations: IOperationBulk[], typeFilter: any): IOperationBulk[];
    resetFilter(): void;
    isFilterApplied(): boolean;
    filter(statusFilters: any, timeFilter: any): Promise<IResultList<IOperationBulk>>;
    getBulkOperations(filter?: any): Promise<IResultList<IOperationBulk>>;
    getTypeFilters(): OperationType[];
    addBulkOperation(): void;
    openFailedOperation(failedParentId: any): void;
    compareOperations(operationA: IOperationBulk, operationB: IOperationBulk): number;
    private flattenFilterFragments;
    static ɵfac: i0.ɵɵFactoryDeclaration<BulkOperationsListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BulkOperationsListComponent, "c8y-bulk-operations", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=bulk-operations-list.component.d.ts.map