import { Context, IUser } from '../datastore/context'; import { Configuration, MailSender, UserService } from '../index'; import { CredentialRepository, UserInviteRepository } from './auth.repository'; export declare const DEFAULT_INVITE_CODE_EXPIRY: number; export interface IInviteUserResponse { user: IUser; inviteId?: string; activateLink?: string; } export interface IInviteUserRequest { email: string; roles: string[]; name?: string; skipEmail?: boolean; } export declare class InviteUserService { private readonly authRepository; private readonly mailSender; private readonly configuration; private readonly userService; private readonly userInviteRepository; private readonly logger; constructor(authRepository: CredentialRepository, mailSender: MailSender, configuration: Configuration, userService: UserService, userInviteRepository: UserInviteRepository); inviteUserIfRequired(context: Context, request: IInviteUserRequest): Promise; inviteUser(context: Context, request: IInviteUserRequest): Promise; getInvitedUser(context: Context, code: string): Promise; reInviteForUserId(context: Context, userId: string): Promise; getUserInviteForUserId(context: Context, userId: string): Promise<{ id: string; email: string; createdAt: Date; userId: string; roles: string[]; } | undefined>; protected reInviteUser(context: Context, existingInvite: any): Promise; protected inviteUserInternal(context: Context, request: IInviteUserRequest, validateNew: boolean): Promise; private getActivationExpiryInMillis; private getActivationExpiryEmailCopy; private getInvitationCopy; private sendActivationEmail; checkActivationCode(context: Context, code: string): Promise; activateAccount(context: Context, code: string, name: string, password: string): Promise; private checkInvite; }