import { Filter, ICreateValue, IDevice, IModel, IValueBlob, IValueNumber, IValueString, IValueXml, JSONObject, ValuePermission, ValueType } from '../util/types'; import { ConnectionModel } from './model.connection'; import { Value } from './value'; export declare class Device extends ConnectionModel implements IDevice { #private; static endpoint: string; static attributes: string[]; name: string; product?: string; serial?: string; description?: string; protocol?: string; communication?: string; version?: string; manufacturer?: string; value: Value[]; constructor(name?: string); get values(): Value[]; getAttributes(): string[]; static getFilter(filter?: Filter, omit_filter?: Filter): string[]; static getFilterResult(filter?: Filter, omit_filter?: Filter): string; addChildrenToStore(): void; findValueByName(name: string): Value[]; findValueByType(type: string): Value[]; loadAllChildren(json: JSONObject | null, _reloadAll?: boolean): Promise; createValue(name: string | ICreateValue, permission?: ValuePermission, valueTemplate?: ValueType, period?: number | string, delta?: number | 'inf', disableLog?: boolean, disablePeriodAndDelta?: boolean): Promise; createNumberValue(params: IValueNumber): Promise; createStringValue(params: IValueString): Promise; createBlobValue(params: IValueBlob): Promise; createXmlValue(params: IValueXml): Promise; parseChild(json: JSONObject): boolean; removeChild(child: IModel): void; setParent(parent?: IModel): void; static find: (params: JSONObject, quantity?: number | "all", readOnly?: boolean, usage?: string, filterRequest?: JSONObject) => Promise; static findByName(name: string, quantity?: number | 'all', readOnly?: boolean, usage?: string): Promise; static findAllByName(name: string, readOnly?: boolean, usage?: string): Promise; static findByProduct(product: string, quantity?: number | 'all', readOnly?: boolean, usage?: string): Promise; static findAllByProduct(product: string, readOnly?: boolean, usage?: string): Promise; static findById: (id: string, readOnly?: boolean) => Promise; static findByFilter: (filter: Filter, omit_filter?: Filter, quantity?: number | "all", readOnly?: boolean, usage?: string) => Promise; static findAllByFilter: (filter: Filter, omit_filter?: Filter, readOnly?: boolean, usage?: string) => Promise; static fetchById: (id: string) => Promise; static fetch: () => Promise; setConnectionStatus(state: boolean | number): Promise; }