import { CommonModule } from '@angular/common';
import * as i0 from '@angular/core';
import { Injectable, NgModule } from '@angular/core';
import * as i2 from '@c8y/ngx-components';
import { CoreModule, hookService } from '@c8y/ngx-components';
import * as i1 from '@c8y/client';
import { Service } from '@c8y/client';

class AdvancedSoftwareService extends Service {
    static { this.applicationName = 'advanced-software-mgmt'; }
    constructor(client, appState) {
        super(client);
        this.appState = appState;
        this.baseUrl = 'service/advanced-software-mgmt';
        this.listUrl = 'software';
        this.propertyName = 'softwareList';
    }
    list(filter = {}) {
        return super.list(filter);
    }
    isASMAvailable() {
        if (this.isAvailable === undefined) {
            this.isAvailable = this.appState.isApplicationAvailable(AdvancedSoftwareService.applicationName);
        }
        return this.isAvailable;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AdvancedSoftwareService, deps: [{ token: i1.FetchClient }, { token: i2.AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
    static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AdvancedSoftwareService }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AdvancedSoftwareService, decorators: [{
            type: Injectable
        }], ctorParameters: () => [{ type: i1.FetchClient }, { type: i2.AppStateService }] });

class AdvancedSoftwareModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AdvancedSoftwareModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: AdvancedSoftwareModule, imports: [CommonModule, CoreModule] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AdvancedSoftwareModule, providers: [AdvancedSoftwareService, hookService('asm', AdvancedSoftwareService)], imports: [CommonModule, CoreModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AdvancedSoftwareModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [CommonModule, CoreModule],
                    providers: [AdvancedSoftwareService, hookService('asm', AdvancedSoftwareService)]
                }]
        }] });

/**
 * Generated bundle index. Do not edit.
 */

export { AdvancedSoftwareModule, AdvancedSoftwareService };
//# sourceMappingURL=c8y-ngx-components-advanced-software-management.mjs.map
