import * as i0 from '@angular/core';
import { OnDestroy } from '@angular/core';
import * as i1 from '@c8y/ngx-components';
import { Permissions, BreadcrumbService, BottomDrawerService } from '@c8y/ngx-components';
import { IManagedObject } from '@c8y/client';

declare class ReplaceDeviceModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<ReplaceDeviceModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<ReplaceDeviceModule, never, [typeof i1.CoreModule], never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<ReplaceDeviceModule>;
}

declare const REQUIRED_IDENTITY_ROLES: string[];
declare const REQUIRED_INVENTORY_ROLES: string[];
declare const REQUIRED_MANAGED_OBJECT_ROLES: string[];
declare class ReplaceDeviceService implements OnDestroy, CumulocityServiceRegistry.AdditionalDeviceStatusButtonProvider {
    private permissions;
    private breadcrumbService;
    private drawerService;
    private destroyed$;
    constructor(permissions: Permissions, breadcrumbService: BreadcrumbService, drawerService: BottomDrawerService);
    getButtonInfo(): {
        title: "Replace device";
        icon: string;
        label: "Replace";
        action: (device: any) => Promise<void>;
    };
    canShowButton(device: IManagedObject): boolean;
    openDrawer(deviceToReplace: IManagedObject, closeCallback?: () => void): Promise<void>;
    ngOnDestroy(): void;
    private appendBreadcrumbs;
    private removeBreadcrumbs;
    static ɵfac: i0.ɵɵFactoryDeclaration<ReplaceDeviceService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ReplaceDeviceService>;
}

export { REQUIRED_IDENTITY_ROLES, REQUIRED_INVENTORY_ROLES, REQUIRED_MANAGED_OBJECT_ROLES, ReplaceDeviceModule, ReplaceDeviceService };
//# sourceMappingURL=index.d.ts.map
