/**
 * Pura API Client
 * Based on pypura library: https://github.com/natekspencer/pypura
 */
import { Logging } from 'homebridge';
import { PuraDevice, PuraAuthTokens } from './puraTypes.js';
export declare class PuraApi {
    private userPool;
    private cognitoUser;
    private session;
    private readonly log;
    constructor(log: Logging);
    /**
     * Authenticate with Pura API
     */
    authenticate(username: string, password: string): Promise<PuraAuthTokens>;
    /**
     * Refresh authentication tokens
     */
    refreshToken(): Promise<PuraAuthTokens>;
    /**
     * Get authorization header for API requests
     */
    private getAuthHeader;
    /**
     * Make authenticated API request
     */
    private makeRequest;
    /**
     * Get all devices
     */
    getDevices(): Promise<PuraDevice[]>;
    /**
     * Set device intensity
     */
    setIntensity(deviceId: string, bay: number, intensity: number): Promise<boolean>;
    /**
     * Set always on mode
     */
    setAlwaysOn(deviceId: string, bay: number): Promise<boolean>;
    /**
     * Stop all diffusion
     */
    stopAll(deviceId: string): Promise<boolean>;
    /**
     * Set timer
     */
    setTimer(deviceId: string, bay: number, intensity: number, durationMinutes: number): Promise<boolean>;
}
