import { Logger } from 'homebridge';
import { Tokens } from './aegapi-auth-types.js';
import { AEGUserAgent, Headers, Method, Request, UAOptions } from './aegapi-ua.js';
import { Config } from './config-types.js';
export declare class AEGAuthoriseUserAgent extends AEGUserAgent {
    private authorised;
    private authorisedFn;
    private refreshAbortController?;
    private token;
    private readonly persistKey;
    constructor(log: Logger, config: Config);
    makeAuthPromise(): Promise<void>;
    authoriseUserAgent(): Promise<void>;
    periodicallyRefreshTokens(): Promise<void>;
    loadTokens(): Promise<boolean>;
    saveTokens(accessToken: string, refreshToken: string, expiresIn: number): Promise<void>;
    get authorizationHeader(): string;
    triggerRefresh(headers: Headers): void;
    prepareRequest(method: Method, path: string, options?: UAOptions, body?: object, headers?: Headers): Promise<Request>;
    canRetry(err: unknown, options?: UAOptions): boolean;
    tokenRefresh(refreshToken: string): Promise<Tokens>;
    tokenRevoke(refreshToken: string): Promise<void>;
}
//# sourceMappingURL=aegapi-ua-auth.d.ts.map