import { IManagedObject, InventoryService } from '@c8y/client';
import { Observable } from 'rxjs';
import { DynamicBulkRetrievalError } from './dynamic-bulk-retrieval-error.model';
import { DynamicBulkIIdentifiedResolver } from './abstract-id-resolver';
import { DynamicResolverService } from './dynamic-resolver.service';
import * as i0 from "@angular/core";
/**
 * A DynamicDetailsResolver responsible to resolve managedObjects for dynamic components.
 * This service implements bulk resolving. This reduces the number of requests made to
 * the backend by querying multiple managedObjectIds in a single request.
 */
export declare class DynamicManagedObjectResolver extends DynamicBulkIIdentifiedResolver<IManagedObject> {
    protected dynamicResolver: DynamicResolverService;
    protected inventory: InventoryService;
    protected typeForErrorMessage: string;
    protected readonly maxNumberOfManagedObjectsPerRequest = 50;
    protected queryFilter: any;
    constructor(dynamicResolver: DynamicResolverService, inventory: InventoryService);
    protected performBulkRequest(uniqIds: string[], bulkRequestId: number): Promise<{
        result: IManagedObject[];
        bulkRequestId: number;
        errors: DynamicBulkRetrievalError[];
    }> | Observable<{
        result: IManagedObject[];
        bulkRequestId: number;
        errors: DynamicBulkRetrievalError[];
    }>;
    protected loadManagedObjectsInChunks(uniqIds: string[], bulkRequestId: number): Promise<{
        result: IManagedObject[];
        bulkRequestId: number;
        errors: DynamicBulkRetrievalError[];
    }>;
    protected loadAChunkOfManagedObjects(uniqIds: string[]): Promise<{
        managedObjects: IManagedObject[];
        errors: DynamicBulkRetrievalError[];
    }>;
    protected getStatusDetails(moId: string): Promise<{
        status: any;
        statusText: any;
        id: string;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicManagedObjectResolver, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DynamicManagedObjectResolver>;
}
//# sourceMappingURL=managedObject-resolver.d.ts.map