import { EventEmitter, QueryList } from '@angular/core';
import { IManagedObject, IResultList } from '@c8y/client';
import { ListItemRadioComponent } from '@c8y/ngx-components';
import { RepositoryService } from '@c8y/ngx-components/repository/shared';
import { TranslateService } from '@ngx-translate/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { ISelectedSoftware } from './select-software.model';
import * as i0 from "@angular/core";
export declare class SelectSoftwareStepComponent {
    private repositoryService;
    private translate;
    software: EventEmitter<ISelectedSoftware>;
    textFilter$: BehaviorSubject<string>;
    deviceType$: BehaviorSubject<string>;
    softwareTypeFilter$: BehaviorSubject<string>;
    deviceTypes: any[];
    selectedDeviceType: {
        name: string;
    };
    isLegacy: any;
    software$: Observable<IResultList<IManagedObject>>;
    readonly NO_DEVICE_TYPE_AVAILABLE: "No device type available";
    radioButtons: QueryList<ListItemRadioComponent>;
    private deviceTypeSubscription;
    constructor(repositoryService: RepositoryService, translate: TranslateService);
    getBaseVersionsCount$(software: IManagedObject): Observable<number>;
    getVersions(software: IManagedObject): Promise<IResultList<IManagedObject>>;
    getDeviceTypeTitle(software: IManagedObject): string;
    loadDeviceTypes(): void;
    ngOnDestroy(): void;
    resetSelection(): void;
    selectSoftware({ option, software }: {
        option: any;
        software: any;
    }): void;
    emitSoftware({ option, software }: {
        option: any;
        software: any;
    }): void;
    private getSoftware;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectSoftwareStepComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SelectSoftwareStepComponent, "c8y-select-software-step", never, {}, { "software": "software"; }, never, never, false, never>;
}
//# sourceMappingURL=select-software-step.component.d.ts.map