import { DynamicModule, Type } from '@nestjs/common'; import { AuthUser, UserDetailsService } from '../interfaces'; import { ModuleAsyncOptions } from '../../utils'; import { MailContent } from '../../mail'; import { VerificationModuleOptions } from './verification'; import { AccountDetailsService } from './interfaces'; export type AccountRouteOptions = { enabled?: boolean; recaptcha?: boolean; }; export type EmailOptions = { subject?: string; content?: MailContent; expiresIn?: number; linkUrl?: string; }; export interface AccountModuleOptions { accountDetailsService: UserDetailsService | (UserDetailsService & AccountDetailsService); accountDetailsClass: Type; accountRegisterDtoClass: Type; route?: string; registration?: AccountRouteOptions & { sendVerifyEmail?: boolean; }; identifierAvailable?: AccountRouteOptions; sendVerifyEmail?: AccountRouteOptions & EmailOptions; verifyEmail?: AccountRouteOptions; sendResetPassword?: AccountRouteOptions & EmailOptions; resetPassword?: AccountRouteOptions; verification?: Partial; enabled?: boolean; } export interface AccountModuleAsyncOptions extends ModuleAsyncOptions> { accountDetailsClass: Type; accountRegisterDtoClass: Type; } export declare class AccountModule { static forRoot(options: AccountModuleOptions): DynamicModule; static forRootAsync(options: AccountModuleAsyncOptions): DynamicModule; private static createModule; }