import { API, Characteristic, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service } from 'homebridge';
import { VeluxDevice } from './VeluxDevice';
export declare class VeluxActivePlatform implements DynamicPlatformPlugin {
    readonly log: Logger;
    readonly config: PlatformConfig;
    readonly api: API;
    readonly baseUrl: string;
    readonly clientId: string;
    readonly clientSecret: string;
    readonly Service: typeof Service;
    readonly Characteristic: typeof Characteristic;
    readonly accessories: PlatformAccessory[];
    apiToken: string;
    refreshToken: string;
    homeId: string;
    devices: VeluxDevice[];
    lastTokenRefresh: Date | undefined;
    tokenWillExpire: Date | undefined;
    lastDeviceUpdate: Date | undefined;
    private refreshing;
    constructor(log: Logger, config: PlatformConfig, api: API);
    delay(ms: number): Promise<unknown>;
    setTokens(response: any): Promise<void>;
    configureAccessory(accessory: PlatformAccessory): void;
    retrieveApiKey(username: string, password: string): Promise<boolean>;
    retrieveNewToken(): Promise<boolean>;
    retrieveHomeId(): Promise<boolean>;
    retrieveDevicesStatus(delayTime?: number): Promise<boolean>;
    createDevices(): void;
}
//# sourceMappingURL=platform.d.ts.map