import { VeSyncAirBypass } from './airBypass'; import { VeSync } from '../vesync'; /** * VeSync Air Purifier with Bypass V2 */ export declare class VeSyncAirBaseV2 extends VeSyncAirBypass { protected _lightDetection: boolean; protected _lightDetectionState: boolean; protected setSpeedLevel: number | null; protected autoPreferences: string[]; protected enabled: boolean; protected _mode: string; protected _speed: number; protected _timer: { duration: number; action: string; } | null; constructor(details: Record, manager: VeSync); protected buildConfigDict(configDict: Record): void; get mode(): string; set mode(value: string); get speed(): number; set speed(value: number); get timer(): { duration: number; action: string; } | null; set timer(value: { duration: number; action: string; } | null); /** * Check response for bypassV2 purifiers that surface nested result codes. */ protected checkV2Response(response: any, status: number, method: string): boolean; /** * Get device details */ getDetails(): Promise; /** * Build purifier dictionary */ protected buildPurifierDict(devDict: Record): void; /** * Determine whether this purifier requires the powerSwitch payload and nested response handling. */ private requiresPowerSwitchPayload; shouldPollDetailsWhenOffline(): boolean; /** * Override turn on to use the powerSwitch payload required by bypassV2 purifiers. */ turnOn(): Promise; /** * Override turn off to use the powerSwitch payload required by bypassV2 purifiers. */ turnOff(): Promise; /** * Override setChildLock to send the childLockSwitch payload required by * bypassV2 purifiers (Vital 100S/200S, Everest Air). These devices report * child lock as childLockSwitch 0|1 and reject the legacy child_lock * boolean payload used by the Core series (matches pyvesync, which sends * {'childLockSwitch': int} for this family). */ setChildLock(enabled: boolean): Promise; /** * Override setMode to send workMode payloads for bypassV2 purifiers. */ setMode(mode: string): Promise; /** * Convenience helper to enter turbo mode when supported. */ turboMode(): Promise; /** * Convenience helper to enter pet mode when supported. */ petMode(): Promise; /** * Override changeFanSpeed to use manualSpeedLevel for bypassV2 purifiers. */ changeFanSpeed(speed: number): Promise; /** * Set auto preference */ setAutoPreference(preference?: string, roomSize?: number): Promise; /** * Set light detection */ setLightDetection(enabled: boolean): Promise; /** * Get light detection status */ get lightDetection(): boolean; /** * Get light detection state */ get lightDetectionState(): boolean; /** * Get auto preference type */ get autoPreferenceType(): string | null; /** * Display JSON details */ displayJSON(): string; /** * Set oscillation state */ setOscillation(toggle: boolean): Promise; }