import { AnalyticsResponse, EventLogLevel, Filter, LogRequest, ILogResponse, IModel, IState, IValueBase, IValueFunc, IValueNumberBase, IValueStringBlobBase, IValueXmlBase, JSONObject, LogValues, RefreshStreamCallback, ReportValueInput, StateType, Timestamp, ValuePermission, ValueStreamCallback } from '../util/types'; import { EventLog } from './eventlog'; import { StreamModel } from './model.stream'; import { State } from './state'; export declare class Value extends StreamModel implements IValueBase, IValueFunc { #private; static endpoint: string; static attributes: string[]; name: string; description?: string; permission: ValuePermission; tmp_permission: ValuePermission; type: string; measure_type?: string; period?: number | string; last_period: number; delta?: string; thresholds?: string[]; number?: IValueNumberBase; string?: IValueStringBlobBase; blob?: IValueStringBlobBase; xml?: IValueXmlBase; status?: string; state: State[]; eventlog: EventLog[]; constructor(name?: string); get states(): State[]; getAttributes(): string[]; static getFilter(filter?: Filter, omit_filter?: Filter): string[]; static getFilterResult(filter?: Filter, omit_filter?: Filter): string; getValueType(): string; removeValueType(oldType: string): void; created(): Promise; preserve(): void; restore(): void; addChildrenToStore(): void; setParent(parent?: IModel): void; static fetchById: (id: string) => Promise; static fetch: () => Promise; reload(_reloadAll?: boolean): Promise; loadAllChildren(json: JSONObject | null, reloadAll?: boolean): Promise; addEvent(level: EventLogLevel, message: string, info?: JSONObject): Promise; createState(params: IState): Promise; removeChild(child: IModel): void; deleteState(type: StateType): Promise; toJSON(): JSONObject; parseChild(json: JSONObject): boolean; getReportData(): string | undefined; getControlData(): string | undefined; getControlTimestamp(): string | undefined; getReportTimestamp(): string | undefined; report(data: ReportValueInput | LogValues, timestamp?: Timestamp): Promise; forceReport(data: ReportValueInput, timestamp?: Timestamp): Promise; control(data: ReportValueInput, timestamp?: Timestamp): Promise; controlWithAck(data: ReportValueInput, timestamp?: Timestamp): Promise; onControl(callback: ValueStreamCallback, forceRegistering?: boolean): Promise; onReport(callback: ValueStreamCallback, callOnInit?: boolean, forceRegistering?: boolean): Promise; onRefresh(callback: RefreshStreamCallback): Promise; cancelOnReport(callback?: ValueStreamCallback): Promise; cancelOnControl(callback?: ValueStreamCallback): Promise; cancelOnRefresh(): Promise; refresh(): Promise; setPeriod(period: number): Promise; setDelta(delta: number): Promise; getReportLog(request: LogRequest): Promise; getControlLog(request: LogRequest): Promise; analyzeEnergy(start: Timestamp, end: Timestamp): Promise; summarizeEnergy(start: Timestamp, end: Timestamp): Promise; energyPieChart(start: Timestamp, end: Timestamp): Promise; 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 findByType: (type: string, quantity?: number | "all", readOnly?: boolean, usage?: string) => Promise; static findAllByName: (name: string, readOnly?: boolean, usage?: string) => Promise; static findAllByType: (type: 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; cancelPeriod(): void; clearAllCallbacks(): Promise; }