import * as i0 from '@angular/core';
import * as i1 from '@c8y/ngx-components';
import { ModalService, AlertService, OperationRealtimeService, ForOfFilterPipe, ForOfRealtimeOptions } from '@c8y/ngx-components';
import * as i2 from '@angular/router';
import { ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router';
import * as i3 from '@angular/common';
import * as i4 from '@c8y/ngx-components/repository/shared';
import * as i5 from 'ngx-bootstrap/dropdown';
import * as i6 from 'ngx-bootstrap/tooltip';
import * as rxjs from 'rxjs';
import { Observable, BehaviorSubject } from 'rxjs';
import * as _c8y_client from '@c8y/client';
import { OperationService, InventoryBinaryService, IManagedObject, IResultList, IOperation } from '@c8y/client';

declare class DiagnosticsService {
    private operationService;
    private inventoryBinary;
    private modalService;
    private alertService;
    readonly fragment = "c8y_DiagnosticReport";
    constructor(operationService: OperationService, inventoryBinary: InventoryBinaryService, modalService: ModalService, alertService: AlertService);
    isSupportedDevice(device: any): boolean;
    getOperations$(device$: Observable<IManagedObject>): Observable<IResultList<IOperation>>;
    createOperation(deviceId: string): Promise<void>;
    deleteOperation(operation: IOperation): Promise<void>;
    cancelOperation(operation: IOperation): Promise<void>;
    private getOperation;
    private deleteDiagnosticsBinary;
    private deleteDiagnosticsFragment;
    static ɵfac: i0.ɵɵFactoryDeclaration<DiagnosticsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DiagnosticsService>;
}

declare class DiagnosticsComponent {
    private route;
    private diagnosticService;
    operationRealtime: OperationRealtimeService;
    statusIcons: {
        [x: number]: string;
    };
    statusClasses: {
        [x: number]: string;
    };
    deviceId: string;
    device$: BehaviorSubject<IManagedObject>;
    operations$: rxjs.Observable<_c8y_client.IResultList<IOperation>>;
    operationsPipe: ForOfFilterPipe<IOperation>;
    realtimeOptions: ForOfRealtimeOptions;
    operationCount: number;
    constructor(route: ActivatedRoute, diagnosticService: DiagnosticsService, operationRealtime: OperationRealtimeService);
    onDiagnosticRequest(): void;
    onDelete(operation: IOperation): void;
    onCancel(operation: IOperation): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DiagnosticsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DiagnosticsComponent, "c8y-diagnostics", never, {}, {}, never, never, true, never>;
}

declare class DiagnosticsModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<DiagnosticsModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<DiagnosticsModule, never, [typeof i1.CoreModule, typeof i2.RouterModule, typeof i3.CommonModule, typeof i1.ListGroupModule, typeof i4.SharedRepositoryModule, typeof i5.BsDropdownModule, typeof i6.TooltipModule, typeof DiagnosticsComponent], [typeof DiagnosticsComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<DiagnosticsModule>;
}

declare class DiagnosticsTabGuard {
    private diagnosticsService;
    constructor(diagnosticsService: DiagnosticsService);
    canActivate(route: ActivatedRouteSnapshot): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<DiagnosticsTabGuard, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DiagnosticsTabGuard>;
}

export { DiagnosticsComponent, DiagnosticsModule, DiagnosticsService, DiagnosticsTabGuard };
//# sourceMappingURL=index.d.ts.map
