import { ConfigService } from '@nestjs/config';
import { JwtService } from '@nestjs/jwt';
import { PrismaService } from '../prisma/prisma.service';
import { UsersService } from '../users/users.service';
import { RefreshDto, SigninDto, SignupDto } from './dto';
export declare class AuthService {
    private readonly users;
    private readonly prisma;
    private readonly jwt;
    private readonly config;
    constructor(users: UsersService, prisma: PrismaService, jwt: JwtService, config: ConfigService);
    signup(dto: SignupDto): Promise<{
        message: string;
        data: {
            accessToken: string;
            refreshToken: string;
            user: import("../users/users.service").SafeUser;
        };
    }>;
    signin(dto: SigninDto): Promise<{
        message: string;
        data: {
            accessToken: string;
            refreshToken: string;
            user: import("../users/users.service").SafeUser;
        };
    }>;
    refresh(dto: RefreshDto): Promise<{
        message: string;
        data: {
            accessToken: string;
            refreshToken: string;
            user: import("../users/users.service").SafeUser;
        };
    }>;
    logout(userId: string, dto?: RefreshDto): Promise<{
        message: string;
        data: null;
    }>;
    private issueTokens;
    private hashToken;
}
