import { IManagedObject } from '@c8y/client';
import { Observable } from 'rxjs';
import { DynamicDetailsResolver } from './dynamic-details-resolver';
import { DynamicManagedObjectResolver } from './managedObject-resolver';
import * as i0 from "@angular/core";
/**
 * A DynamicDetailsResolver responsible to resolve configured datapoints for dynamic components.
 * This service implements bulk resolving and uses the DynamicManagedObjectResolver in the background.
 * It will update the datapoint details with the current values from the datapoint library and
 * also updates the target of the datapoint in case e.g. the name changed.
 */
export declare class DynamicDatapointsResolver implements DynamicDetailsResolver {
    protected moResolver: DynamicManagedObjectResolver;
    constructor(moResolver: DynamicManagedObjectResolver);
    resolve(config: any, attribute: string, bulkRequestId: number): any[] | Promise<any[]> | Observable<any[]>;
    serialize(config: any, attribute: string): any;
    protected assignUpdatedValues(oldDatapoints: any[], currentManagedObjects: IManagedObject[]): any[];
    protected assignUpdatedValuesToSingleDatapoint(datapoint: any, currentManagedObjects: IManagedObject[]): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicDatapointsResolver, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DynamicDatapointsResolver>;
}
//# sourceMappingURL=datapoints-resolver.d.ts.map