import { AuditService, EventService, IdentityService, IExternalIdentity, IManagedObject, InventoryService, IResultList, UserService } from '@c8y/client';
import { AlertService, AppStateService } from '@c8y/ngx-components';
import { Observable } from 'rxjs';
import { ReplaceDeviceStep } from './replace-device-wizard.model';
import * as i0 from "@angular/core";
export declare class ReplaceDeviceWizardService {
    private inventory;
    private identity;
    private audit;
    private event;
    private user;
    private appState;
    private alert;
    private static readonly NON_REENTRANT_STATES;
    get deviceToReplace$(): Observable<IManagedObject>;
    get replacementDeviceId$(): Observable<string>;
    externalIds$: Observable<IResultList<IExternalIdentity>>;
    externalIdsLoading$: Observable<boolean>;
    externalIdsWithSelection$: Observable<Array<{
        id: IExternalIdentity;
        selected: boolean;
    }>>;
    selectedExternalIds$: Observable<IExternalIdentity[]>;
    deviceReplaced$: Observable<boolean>;
    deviceReplacementInProgress$: Observable<boolean>;
    steps: ReplaceDeviceStep[];
    private deviceToReplaceSubject$;
    private deviceToReplaceObs$;
    private replacementDeviceIdSubject$;
    private replacementDeviceIdObs$;
    private checkExternalId$;
    private externalIdsLoadingSubject$;
    private triggerDeviceReplacementSubject$;
    private deviceReplacementInProgressSubject$;
    private queriesUtil;
    constructor(inventory: InventoryService, identity: IdentityService, audit: AuditService, event: EventService, user: UserService, appState: AppStateService, alert: AlertService);
    forDevice(deviceToReplace: IManagedObject): void;
    changeReplacementDeviceId(replacementDeviceId: string): void;
    checkExternalId(id: IExternalIdentity, checked: boolean): void;
    replaceDevice(): void;
    retryStep(step?: ReplaceDeviceStep): void;
    private defineSteps;
    private executeStep;
    private unwrapStepAction;
    private areExtIdsEqual;
    private extIdsToString;
    private toError;
    static ɵfac: i0.ɵɵFactoryDeclaration<ReplaceDeviceWizardService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ReplaceDeviceWizardService>;
}
//# sourceMappingURL=replace-device-wizard.service.d.ts.map