import { ApiKey } from "../api_key/api_key.schema"; import { User } from "../users/user.schema"; import { ClsService } from "nestjs-cls"; import { AuthProviderInterface } from "./providers/auth_provider.interface"; export declare class AuthService { private readonly cls; constructor(cls: ClsService); init(): Promise; _getProvider(providerCode: string): Promise; _prepareSystem(): Promise; _getUserProfileLocal(id: string): Promise; private _mergePermissions; _getUserProfileAndPermissions(id: string): Promise; _verifySystemKey(appKey: string, secretKey: string): Promise; _validateUserTypePermission(user: User, apiKey: ApiKey): any; _verifySingleSession(token: string, userId: string, apiKey?: ApiKey): Promise; _isCompanyEnabled: (session: any) => Promise; _loginResult(token: string, userId: string, extra: any, channel: string, apiKey: ApiKey, need_authenticator?: boolean, writeSuccessLogin?: boolean): Promise<{ token: string; profile: any; permissions: any; expires: number; }>; _loginAuthenticator(token: string, userId: string, extra: any, channel: string, apiKey: ApiKey): Promise<{ mfa_token: any; need_authenticator: boolean; qrcode_url: any; ref: any; default_gateway: any; }>; login(appKey: string, secretKey: string, email: string, password: string, recaptchaToken?: string): Promise<{ token: string; profile: any; permissions: any; expires: number; } | { mfa_token: any; need_authenticator: boolean; qrcode_url: any; ref: any; default_gateway: any; }>; loginOTP(appKey: string, secretKey: string, mobileNo: string, recaptchaToken?: string): Promise<{ mfa_token: any; need_authenticator: boolean; qrcode_url: any; ref: any; default_gateway: any; }>; callbackLogin(appKey: string, secretKey: string, channel: string, data: unknown): Promise<{ token: string; profile: any; permissions: any; expires: number; }>; verify(token: string, extra: any, channel: string): Promise; getProfile(token: string): Promise; verifyBasic(token: string): Promise; logout(token: string, body?: Record): Promise; verifyAuthenticator(code: string, mfaToken: string, appKey: string, secretKey: string): Promise; resendAuthenticator(authorization: string, template?: string): Promise<{ ref: string; }>; requestOTP(appKey: string, secretKey: string, type: string, mobileNo: string, gateway?: string): Promise<{ otp_token: any; ref: string; }>; confirmOTP(otpToken: string, otpCode: string): Promise<{ first_name: any; last_name: any; username: any; }>; newPassword(otpToken: string, newPassword: string, confirmPassword: any): Promise<{ status: boolean; }>; forgotPassword(otpToken: string, newPassword: string, confirmPassword: string): Promise<{ status: boolean; }>; checkSession(req: any, token: string): Promise<{ req_user_agent: any; req_x_client_ip: any; req_x_client_ip_0: any; req_client_ip: any; session_agent: any; session_client_ip: any; }>; requestExchangeToken(data: any): Promise; exchangeToken(data: any): Promise; }