import { AnsiLogger } from 'matterbridge/logger';
import { RoborockAuthGateway } from '../roborockCommunication/adapters/RoborockAuthGateway.js';
import type { UserData } from '../roborockCommunication/models/index.js';
/** Core authentication service handling low-level login operations. */
export declare class AuthenticationService {
    private readonly authGateway;
    private readonly logger;
    constructor(authGateway: RoborockAuthGateway, logger: AnsiLogger);
    /** Login with email verification code. */
    loginWithVerificationCode(email: string, code: string): Promise<UserData>;
    /** Login with cached token (validates and refreshes if needed). */
    loginWithCachedToken(username: string, userData: UserData): Promise<UserData>;
    /** Login with password. */
    loginWithPassword(username: string, password: string): Promise<UserData>;
}
//# sourceMappingURL=authenticationService.d.ts.map