import ApiClient, { ExtendedRequestInit } from 'simple-api-client';
import EightSleepClientApi from './index';
export declare enum Sides {
    SOLO = "solo",
    LEFT = "left",
    RIGHT = "right"
}
export declare type Levels = -100 | -90 | -80 | -70 | -60 | -50 | -40 | -30 | -20 | -10 | 0 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100;
export declare type OptsType = {
    clientApi: EightSleepClientApi;
    defaultInit: ExtendedRequestInit;
};
export declare class EightSleepAppApi extends ApiClient {
    private readonly clientApi;
    constructor({ clientApi, defaultInit }: OptsType);
    userId(): Promise<string>;
    oauthToken(): Promise<string>;
    getDeviceStatus(deviceId: string, query?: {}): Promise<import("./validateDeviceStatus").DeviceStatusType>;
    setDeviceSideOff(deviceId: string, side: Sides, query?: {}): Promise<import("./validateDeviceStatus").DeviceStatusType>;
    setDeviceSideOn(deviceId: string, side: Sides, query?: {}): Promise<import("./validateDeviceStatus").DeviceStatusType>;
    setDeviceSideLevel(deviceId: string, side: Sides, level: Levels, query?: {}): Promise<import("./validateDeviceStatus").DeviceStatusType>;
}
