import { ConfigService } from '@metad/server-config'; import { ICreateEmailInvitesInput, ICreateEmailInvitesOutput, ICreateOrganizationContactInviteInput, LanguagesEnum, IOrganization, IEmployee, IInvite } from '@metad/contracts'; import { FindOptionsWhere, Repository } from 'typeorm'; import { TenantAwareCrudService } from './../core/crud'; import { Invite } from './invite.entity'; import { EmailService } from '../email/email.service'; import { UserService } from '../user/user.service'; import { Organization, OrganizationContact, Role } from './../core/entities/internal'; export declare class InviteService extends TenantAwareCrudService { private readonly inviteRepository; private readonly organizationContactRepository; private readonly organizationRepository; private readonly roleRepository; private readonly emailService; private readonly userService; private readonly configSerice; constructor(inviteRepository: Repository, organizationContactRepository: Repository, organizationRepository: Repository, roleRepository: Repository, emailService: EmailService, userService: UserService, configSerice: ConfigService); /** * Creates all invites. If an email Id already exists, this function will first delete * the existing invite and then create a new row with the email address. * @param emailInvites Emails Ids to send invite */ createBulk(emailInvites: ICreateEmailInvitesInput, languageCode: LanguagesEnum): Promise; resendEmail(data: any, invitedById: any, languageCode: any, expireDate: any): Promise; sendAcceptInvitationEmail(organization: IOrganization, employee: IEmployee, languageCode: LanguagesEnum): Promise; createOrganizationContactInvite(inviteInput: ICreateOrganizationContactInviteInput): Promise; validateByToken(where: FindOptionsWhere): Promise; createToken(email: any): string; }