import { OnDestroy } from '@angular/core';
import { IManagedObject } from '@c8y/client';
import { BottomDrawerService, BreadcrumbService, Permissions } from '@c8y/ngx-components';
import * as i0 from "@angular/core";
export declare const REQUIRED_IDENTITY_ROLES: string[];
export declare const REQUIRED_INVENTORY_ROLES: string[];
export declare const REQUIRED_MANAGED_OBJECT_ROLES: string[];
export 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>;
}
//# sourceMappingURL=replace-device.service.d.ts.map