import { UsersService } from '../users/users.service';
import { JwtService } from '@nestjs/jwt';
import { Request, Response } from 'express';
import { RoleName } from 'src/roles/roles.service';
import { PrismaService } from 'src/prisma/prisma.service';
export declare class AuthService {
    private prisma;
    private usersService;
    private jwtService;
    constructor(prisma: PrismaService, usersService: UsersService, jwtService: JwtService);
    getCookieName(key: string): string;
    setClientCookies(res: Response, tokens: {
        access_token: string;
        refresh_token: string;
    }): void;
    clearClientCookies(res: Response): Promise<void>;
    parseReqToken(req: Request, refreshToken?: boolean): string | null;
    createMd5Hash(plain: string): Promise<string>;
    createHash(plain: string): Promise<string>;
    isHashValid(plain: string, hash: string): Promise<boolean>;
    newPasswordFormatSet(user_id: number): Promise<boolean>;
    setNewPassword(user_id: number, password: string): Promise<number | null>;
    checkNewPasswordStorage(username: string, password: string): Promise<{
        user_id: number;
        email: string;
        password: string;
        firstname: string | null;
        lastname: string | null;
        suspended: number;
        suspended_date: Date | null;
        suspended_by: number | null;
        created_date: Date;
        created_by: number;
        last_logon_date: Date | null;
        user_class_id: number;
        username: string;
        updated_by: number;
        updated_date: Date;
        title: string | null;
        tell: string | null;
        status: number;
    } | null>;
    checkOldPasswordStorage(username: string, password: string): Promise<{
        user_id: number;
        email: string;
        password: string;
        firstname: string | null;
        lastname: string | null;
        suspended: number;
        suspended_date: Date | null;
        suspended_by: number | null;
        created_date: Date;
        created_by: number;
        last_logon_date: Date | null;
        user_class_id: number;
        username: string;
        updated_by: number;
        updated_date: Date;
        title: string | null;
        tell: string | null;
        status: number;
    } | null>;
    validateUser(username: string, password: string): Promise<any>;
    refreshTokens(user_id: number, username: string, user_class_id: number, roles: RoleName[], refresh_token: string): Promise<{
        access_token: string;
        refresh_token: string;
    } | null>;
    updatePassword(user_id: number, password: string): Promise<void>;
    updateRefreshToken(user_id: number, refreshToken: string): Promise<void>;
    getTokens(user_id: number, username: string, user_class_id: number, roles: RoleName[]): Promise<{
        access_token: string;
        refresh_token: string;
    }>;
    logout(user_id: number): Promise<{
        user_refresh_token_id: number;
        refresh_token: string | null;
        user_id: number;
        updated_date: Date;
    }>;
}
