import { JwtService } from '@nestjs/jwt';
import { ConfigService } from '../config/config.service';
import { Logger } from '../logger/logger.service';
export interface UserInterface {
    id: number;
    name: string;
    username: string;
    admin: boolean;
    hashedPassword: string;
    salt: string;
}
export declare class AuthService {
    private readonly jwtService;
    private readonly configService;
    private readonly logger;
    constructor(jwtService: JwtService, configService: ConfigService, logger: Logger);
    authenticate(username: string, password: string): Promise<any>;
    signIn(username: string, password: string): Promise<any>;
    generateNoAuthToken(): Promise<{
        access_token: string;
        token_type: string;
        expires_in: number;
    }>;
    validateUser(payload: any): Promise<any>;
    verifyWsConnection(client: any): Promise<string | object>;
    getUsers(): Promise<UserInterface[]>;
    findById(id: number): Promise<UserInterface>;
    findByUsername(username: string): Promise<UserInterface>;
    private saveUserFile;
    private hashPassword;
    private genSalt;
    private doLogin;
    addUser(user: any): Promise<void>;
    deleteUser(id: any): Promise<void>;
    updateUser(id: any, update: any): Promise<void>;
    setupDefaultUser(): Promise<void>;
    setupAuthFile(): Promise<void>;
}
