import { CdkStep, StepperSelectionEvent } from '@angular/cdk/stepper';
import { EventEmitter, OnDestroy, QueryList } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { AlertService, C8yStepper, ModalService } from '@c8y/ngx-components';
import { OperationSchedule } from '@c8y/ngx-components/operations/bulk-operation-scheduler';
import { BulkOperationsService, BulkOperationType, OperationDetails } from '@c8y/ngx-components/operations/bulk-operations-service';
import { CreateBulkOperationDetailsComponent } from '@c8y/ngx-components/operations/create-bulk-operation-details';
import { Observable } from 'rxjs';
import { CustomStep } from './custom-step.directive';
import * as i0 from "@angular/core";
export declare class BulkOperationStepper implements OnDestroy {
    private bulkOperationService;
    private modal;
    private alert;
    BULK_OPERATION_EVENT: string;
    type: BulkOperationType | string;
    selectionChange: EventEmitter<StepperSelectionEvent>;
    customSteps: QueryList<CustomStep>;
    stepper: C8yStepper;
    createBulkOperationDetailsComponent: CreateBulkOperationDetailsComponent;
    steps: CustomStep[];
    showStepper: boolean;
    showButtons: boolean;
    pendingStatus: boolean;
    stepperButtonsLabels: {
        custom: "Schedule";
    };
    deviceTypes$: Observable<string[]>;
    deviceQueryString: string;
    bulkOperationType: BulkOperationType;
    scheduleData: OperationSchedule;
    operationDetailsForm: FormGroup;
    operationDetails: OperationDetails;
    retrieveOperationDetails: () => OperationDetails | Promise<OperationDetails>;
    private deviceTypesSubject$;
    private endSubscriptions;
    constructor(bulkOperationService: BulkOperationsService, modal: ModalService, alert: AlertService);
    ngAfterViewInit(): void;
    changeDeviceTypes(deviceTypes: string | string[]): void;
    confirmDeviceSelection($event: {
        stepper: C8yStepper;
        step: CdkStep;
    }): Promise<void>;
    cancel(): void;
    scheduleBulkOperation(): Promise<void>;
    ngOnDestroy(): void;
    private close;
    static ɵfac: i0.ɵɵFactoryDeclaration<BulkOperationStepper, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BulkOperationStepper, "c8y-bulk-operation-stepper", never, { "type": { "alias": "type"; "required": false; }; }, { "selectionChange": "selectionChange"; }, ["customSteps"], never, false, never>;
}
//# sourceMappingURL=bulk-operation-stepper.component.d.ts.map