import { AxiosPromise } from "axios";
import { INanoleafLight } from "./types/nanoleaf-light.type";
export default class NanoleafApi {
    private axiosInstance;
    private _config;
    constructor(config?: {
        host: string;
        authToken: string;
        timeout?: number;
        httpTimeout?: number;
    });
    authorize: (host?: any) => Promise<unknown>;
    updateNanoleafApi: (host: any, timeout: any) => any;
    unAuthorize: (host: any, authToken: any) => any;
    getAllInfo: () => AxiosPromise<INanoleafLight>;
    setLightState: (state: any, fetchConfig?: any) => Promise<any>;
    getAllEffects: () => any;
    getAllScenes: () => any;
    activateEffect: (effect: any, fetchConfig?: any) => Promise<any>;
    activateScene: (effect: any, fetchConfig?: any) => Promise<any>;
    write: (payload: any, fetchConfig?: any) => Promise<any>;
    setStreamingMode: () => Promise<import("axios").AxiosResponse<any>>;
    writeCustomLights: (config: any) => any;
}
