import { DeviceStatusType, SideStatusType } from 'eightsleep/dist/cjs/validateDeviceStatus';
import { Levels, Sides } from 'eightsleep/dist/cjs/EightSleepAppApi';
import EightSleep from 'eightsleep';
export declare type OptsType = {
    clientApi: EightSleep;
    deviceId: string;
};
export default class EightSleepPod {
    private readonly clientApi;
    private readonly deviceId;
    private readonly setLevelCache;
    private readonly setOnOffCache;
    constructor({ clientApi, deviceId }: OptsType);
    getDeviceStatus: () => Promise<DeviceStatusType>;
    getStatus: (side?: Sides) => Promise<SideStatusType>;
    turnOn: (side?: Sides | undefined) => Promise<DeviceStatusType>;
    turnOff: (side?: Sides | undefined) => Promise<DeviceStatusType>;
    isOn(side?: Sides): Promise<boolean>;
    getLevel(side?: Sides): Promise<10 | 100 | -100 | 90 | -90 | 80 | -80 | 70 | -70 | 60 | -60 | 50 | -50 | 40 | -40 | 30 | -30 | 20 | -20 | -10 | 0>;
    setLevel: (side: Sides | undefined, level: Levels) => Promise<DeviceStatusType>;
    getTemperature: () => Promise<number>;
}
//# sourceMappingURL=EightSleepPod.d.ts.map