import { ConfigService } from '@nestjs/config';
import { JwtService } from '@nestjs/jwt';
import { ActivityLogService } from '../activity-logs/activity-log.service';
import { UsersService } from '../users/users.service';
import { LoginDto } from './dto/login.dto';
import type { AuthResponse, JwtPayload, SafeUser } from './auth.types';
type AuthResult = AuthResponse & {
    accessToken: string;
    refreshToken: string;
};
export declare class AuthService {
    private readonly usersService;
    private readonly jwtService;
    private readonly configService;
    private readonly activityLogService;
    private readonly logger;
    constructor(usersService: UsersService, jwtService: JwtService, configService: ConfigService, activityLogService: ActivityLogService);
    login(loginDto: LoginDto): Promise<AuthResult>;
    validatePasswordSetup(token: string): Promise<{
        valid: boolean;
        name: string;
        email: string;
    }>;
    setupPassword(token: string, password: string): Promise<{
        success: boolean;
    }>;
    refresh(refreshToken?: string): Promise<AuthResult>;
    logout(refreshToken?: string): Promise<void>;
    getCurrentUser(userId: string): Promise<SafeUser>;
    getRedirectPath(role: JwtPayload['role']): "/app/admin" | "/app/seo";
    private buildPayload;
    private signAccessToken;
    private signRefreshToken;
    private verifyRefreshToken;
    private recordActivity;
    private toSafeUser;
    private emailDomain;
}
export {};
