import * as i0 from '@angular/core';
import { CdkStep } from '@angular/cdk/stepper';
import { IManagedObject, IResultList } from '@c8y/client';
import { C8yStepper } from '@c8y/ngx-components';
import { BaseStepperComponent } from '@c8y/ngx-components/operations/bulk-operation-stepper';
import { BulkOperationType, BulkOperationsService, OperationDetails } from '@c8y/ngx-components/operations/bulk-operations-service';
import { RepositoryService } from '@c8y/ngx-components/repository/shared';
import { TranslateService } from '@ngx-translate/core';
import { BehaviorSubject, Observable } from 'rxjs';

declare class StepperBulkTypeConfigurationComponent extends BaseStepperComponent {
    private bulkOperationService;
    private repositoryService;
    private translate;
    readonly type: BulkOperationType;
    readonly NO_DEVICE_TYPE_AVAILABLE: "Undefined`device type`";
    selectedConfiguration: IManagedObject;
    DD_LOW_COUNT: number;
    textFilter$: BehaviorSubject<string>;
    configType$: BehaviorSubject<string>;
    configTypes: any[];
    selectedConfigType: {
        name: string;
    };
    configurations$: Observable<IResultList<IManagedObject>>;
    private configTypeSubscription;
    constructor(bulkOperationService: BulkOperationsService, repositoryService: RepositoryService, translate: TranslateService);
    loadConfigurationTypes(): void;
    ngOnDestroy(): void;
    selectConfiguration(configuration: IManagedObject): void;
    goToSecondStep($event: {
        stepper: C8yStepper;
        step: CdkStep;
    }): void;
    getConfigBinary(): Promise<void>;
    getDeviceTypeTitle(configuration: IManagedObject): string;
    protected retrieveOperationPrototype(): OperationDetails;
    private getConfiguration;
    static ɵfac: i0.ɵɵFactoryDeclaration<StepperBulkTypeConfigurationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StepperBulkTypeConfigurationComponent, "c8y-stepper-bulk-type-configuration", never, {}, {}, never, never, true, never>;
}

/** Module for the 'Configuration update' operation type stepper */
declare class StepperBulkTypeConfigurationModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<StepperBulkTypeConfigurationModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<StepperBulkTypeConfigurationModule, never, [typeof StepperBulkTypeConfigurationComponent], [typeof StepperBulkTypeConfigurationComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<StepperBulkTypeConfigurationModule>;
}

export { StepperBulkTypeConfigurationComponent, StepperBulkTypeConfigurationModule };
//# sourceMappingURL=index.d.ts.map
