import { SmartenitPlugin } from '../smartenit-plugin'; import { IWebSocketDeviceMessage } from '../../websockets/websocket-device-message.interface'; import { Observable } from 'rxjs/Observable'; import { Subject } from 'rxjs/Subject'; export declare class OnOffArrayServerPlugin extends SmartenitPlugin { private _zones; private _programs; private _percentAdjust; private _isEnabled; private _zonesLen; private _supportsBudgetAndRunningTimer; private days; readonly isEnabled: boolean; readonly currentRunningProgram: any; readonly percentAdjust: number; readonly zones: any; readonly programs: any; readonly zonesLen: any; readonly supportsBudgetAndRunningTimer: boolean; /** * supportsBudgetAndRunningTimer */ updatesupportsBudgetAndRunningTimer(value: boolean): any; protected _onRainDelayChange: Subject; readonly onRainDelayChange: Observable; onInit(): void; getReportableAttrs(): string[]; setProgramName(programIndex: number, programName: string): void; getZoneName(zoneIdx: number): void; setZoneName(zoneIndex: number, zoneName: string): void; setZoneNames(zonesInfo: Array<{ zoneIndex: number; zoneName: string; }>): void; executeSetZoneName(zoneIndex: number, zoneName: string): void; updateDeviceZoneInfo(zoneIndex: number, zoneName: string): Observable; updateDeviceZonesInfo(zonesInfo: Array<{ zoneIndex: number; zoneName: string; }>): Observable; setPump(zoneIndexes: number[], saveAttribute?: boolean): void; getPump(delay?: boolean): void; updatePumpMode(pumpMode: any): void; readMode(delay?: boolean): void; private getCacheValuesWithDefaults(useDefaultValues?); getState(cachedState?: boolean, delay?: boolean): void; getArraySize(): void; setArraySize(arraySize: any): void; updateArraySize(arraySize: any): void; getZoneNames(): void; turnOnProgram(programIndex: number): void; turnOffProgram(programIndex: number): void; toggleProgram(programIndex: number): void; toggleZone(zoneIndex: number): void; getProgramTimers(programIndex: number): void; getCurrentRunningTimer(sendDirect?: boolean): void; setProgramTimers(programIndex: number, timerValues: any): void; updateDeviceProgramTimers(programIndex: number, timerValues: any, existingProgram: any): Observable; toggleDeviceEnable(): void; disableDevice(): Observable | undefined; enableDevice(): Observable | undefined; private inhibitOn(mode); private inhibitOff(mode); private setProgramInMode(programIndex); private setProgramId(mode, programIndex); private getProgramIdFromMode(mode); private getDeviceisEnabled(mode); private getPercentAdjust(mode); processZonesResponse(bitmask: any, zones: any): any; getStatusPayload(): any; getStatus(context?: string, force?: boolean, asObservable?: boolean, payload?: any, sendDirect?: boolean): void; processMessage(message: IWebSocketDeviceMessage, timestamp?: number): any; getNearestCondition(): Observable; getCrontabFromValue(value: any): any; private nearestConditionDescriptionHelper(conditions); createProgramAction(programName: string, programId: string, startTimes: any, crontab: any, actionId?: any, effectId?: any): Observable; getRainDelayAction(): Observable; stopRainDelay(): Observable; startRainDelay(delay: any, timeZone: any): Observable; processDeviceMessage(message: IWebSocketDeviceMessage, timestamp?: number): any; getProgramConditions(): Observable; setPercentAdjust(percent: number): void; getProgramAutomation(programId: number): Observable; getEffectLabelOptions(context: any): any; getEffectValueOptions(context: any): any; getEffectCurrentLabel(context: any, attributeOrMethod: string): any; getEffectCurrentValue(context: any, attributeOrMethod: string): string; getEffectMethod(context?: any): string | null; getValueDescription(value: any): string; }