import { JwtService } from '@nestjs/jwt';
import { UsersService } from '../users/users.service';
import { RegisterDto } from './dto/register.dto';
import { LoginDto } from './dto/login.dto';
import { UpdateProfileDto } from './dto/update-profile.dto';
import { ChangePasswordDto } from './dto/change-password.dto';
export declare class AuthService {
    private usersService;
    private jwtService;
    constructor(usersService: UsersService, jwtService: JwtService);
    register(dto: RegisterDto): Promise<{
        user: any;
        token: string;
    }>;
    login(dto: LoginDto): Promise<{
        user: any;
        token: string;
    }>;
    validateUser(userId: string): Promise<any>;
    updateProfile(userId: string, dto: UpdateProfileDto): Promise<any>;
    changePassword(userId: string, dto: ChangePasswordDto): Promise<{
        message: string;
    }>;
    getInvite(token: string): Promise<{
        role: {
            permissions: import("@prisma/client/runtime/library").JsonValue;
            name: string;
            id: string;
            createdAt: Date;
            updatedAt: Date;
            description: string | null;
        };
    } & {
        name: string;
        id: string;
        email: string;
        inviteToken: string | null;
        passwordHash: string | null;
        roleId: string;
        status: import(".prisma/client").$Enums.UserStatus;
        avatarUrl: string | null;
        lastLogin: Date | null;
        inviteExpiresAt: Date | null;
        invitedAt: Date | null;
        createdAt: Date;
        updatedAt: Date;
        deletedAt: Date | null;
    }>;
    acceptInvite(dto: {
        token: string;
        password: string;
    }): Promise<{
        message: string;
        user: any;
        token: string;
    }>;
    private generateToken;
    private sanitizeUser;
}
