import type { Logging } from 'homebridge';
export declare class TokenManager {
    private readonly log;
    private readonly clientId;
    private readonly clientSecret;
    private readonly initialRefreshToken;
    private readonly storageDir;
    private readonly tokenFilePath;
    private accessToken;
    private refreshToken;
    private expiresAt;
    constructor(log: Logging, clientId: string, clientSecret: string, initialRefreshToken: string, storageDir: string);
    /**
     * Initialize token manager by loading stored tokens or getting new ones
     */
    initialize(): Promise<void>;
    /**
     * Get current access token, refreshing if necessary
     */
    getAccessToken(): Promise<string>;
    /**
     * Refresh access token using refresh token
     */
    private refreshTokens;
    /**
     * Save tokens to file
     */
    private saveStoredTokens;
    /**
     * Load tokens from file
     */
    private loadStoredTokens;
}
