import { Logger } from 'homebridge'; declare type LightState = { id: number; level: number; time: number; }; declare type ShadeState = { id: number; position: number; }; declare type ThermostatSetPoint = { id: number; setpoints: Array<{ type: 'Cool' | 'Heat' | 'Auto'; temperature: number; }>; }; declare type ThermostatMode = { id: number; mode: 'HEAT' | 'COOL' | 'AUTO' | 'OFF'; }; declare type ThermostatFanMode = { id: number; mode: 'AUTO' | 'ON'; }; declare type SecuritySystemState = { id: number; state: 'Disarmed' | 'ArmStay' | 'ArmAway' | 'ArmInstant'; }; declare type Scene = { id: number; name: string; type: string; roomId: number; status: boolean; }; export interface CrestronDevice { id: number; name: string; type: string; subType: string; roomId: number; roomName: string; status: boolean; level: number; position: number; currentTemperature?: number; currentMode?: string; currentFanMode?: string; currentSetPoint?: Array<{ type: string; temperature: number; }>; temperatureUnits?: string; schedulerState?: string; availableFanModes?: string[]; availableSystemModes?: string[]; connectionStatus?: string; lockStatus?: string; lockType?: string; securityCurrentState?: string; securityAvailableStates?: string[]; } export declare class CrestronClient { readonly log: Logger; private axiosClient; private apiToken; private crestronUri; private lastLogin; private NINE_MINUTES_MILLIS; private httpsAgent; private rooms; constructor(crestronHost: string, apiToken: string, log: Logger); getDevices(enabledTypes: string[]): Promise; getDevice(id: number): Promise; getShadeState(id: number): Promise; setShadesState(shades: ShadeState[]): Promise; setLightsState(lights: LightState[]): Promise; getScene(sceneId: number): Promise; recallScene(sceneId: number): Promise; getThermostatState(id: number): Promise; setThermostatSetPoint(setPointData: ThermostatSetPoint): Promise; setThermostatMode(modeData: ThermostatMode): Promise; setThermostatFanMode(fanModeData: ThermostatFanMode): Promise; setSecuritySystemState(securityStateData: SecuritySystemState): Promise; login(): Promise; getDoorLockState(id: number): Promise; lockDoor(id: number): Promise; unlockDoor(id: number): Promise; } export {}; //# sourceMappingURL=crestronClient.d.ts.map