import { AnsiLogger } from 'matterbridge/logger';
import { RoborockAuthenticateApi } from '../api/authClient.js';
import { UserData } from '../models/index.js';
/**
 * Adapts the RoborockAuthenticateApi to the domain port interface.
 */
export declare class RoborockAuthGateway {
    private readonly authApi;
    private readonly logger;
    constructor(authApi: RoborockAuthenticateApi, logger: AnsiLogger);
    /**
     * Request a verification code for email-based authentication.
     */
    requestVerificationCode(email: string): Promise<void>;
    /**
     * Authenticate a user with email and verification code.
     */
    authenticate2FA(email: string, code: string): Promise<UserData>;
    authenticatePassword(email: string, password: string): Promise<UserData>;
    /**
     * Refresh authentication token.
     */
    refreshToken(userData: UserData): Promise<UserData>;
}
//# sourceMappingURL=RoborockAuthGateway.d.ts.map