import { KuzzleRequest } from "kuzzle"; import { JSONObject, KDocument, KHit, SearchResult } from "kuzzle-sdk"; import { DeviceManagerPlugin } from "../plugin"; import { BaseService, SearchParams } from "../shared"; import { AssetModelContent, DeviceModelContent, GroupModelContent, LocaleDetails, MeasureModelContent, MetadataDetails, MetadataGroups, MetadataMappings, TooltipModels } from "./types/ModelContent"; import { SchemaObject } from "ajv"; import { MeasureValuesDetails } from "../measure"; import { NamedMeasures } from "../decoder"; export declare class ModelService extends BaseService { constructor(plugin: DeviceManagerPlugin); registerAskEvents(): void; private checkModelsConflicts; writeAsset(engineGroup: string, model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: NamedMeasures, tooltipModels: TooltipModels, locales: { [valueName: string]: LocaleDetails; }): Promise>; private checkDefaultValues; writeDevice(model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: NamedMeasures): Promise>; writeGroup(engineGroup: string, model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups): Promise>; writeMeasure(type: string, valuesMappings: JSONObject, validationSchema?: SchemaObject, valuesDetails?: MeasureValuesDetails, locales?: { [valueName: string]: LocaleDetails; }): Promise>; deleteAsset(_id: string): Promise; deleteDevice(_id: string): Promise; deleteGroup(_id: string): Promise; deleteMeasure(_id: string): Promise; listAsset(engineGroup: string): Promise[]>; listDevices(): Promise[]>; listGroups(engineGroup: string): Promise[]>; listMeasures(): Promise[]>; searchAssets(engineGroup: string, searchParams: Partial): Promise>>; searchDevices(searchParams: Partial): Promise>>; searchGroups(engineGroup: string, searchParams: Partial): Promise>>; searchMeasures(searchParams: Partial): Promise>>; assetExists(model: string): Promise; deviceExists(model: string): Promise; getAsset(engineGroup: string, model: string): Promise>; getDevice(model: string): Promise>; getGroup(model: string): Promise>; getMeasure(type: string): Promise>; /** * Update an asset model */ updateAsset(engineGroup: string, model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: AssetModelContent["asset"]["measures"], tooltipModels: TooltipModels, locales: { [valueName: string]: LocaleDetails; }, request: KuzzleRequest): Promise>; }