import { CreateAdministratorInput, DeletionResult, UpdateAdministratorInput } from '@subit/common/lib/generated-types'; import { ID, PaginatedList } from '@subit/common/lib/shared-types'; import { RequestContext } from '../../api/common/request-context'; import { ListQueryOptions } from '../../common/types/common-types'; import { ConfigService } from '../../config'; import { Administrator } from '../../entity/administrator/administrator.entity'; import { CustomFieldRelationService } from '../helpers/custom-field-relation/custom-field-relation.service'; import { ListQueryBuilder } from '../helpers/list-query-builder/list-query-builder'; import { PasswordCiper } from '../helpers/password-cipher/password-ciper'; import { TransactionalConnection } from '../transaction/transactional-connection'; import { RoleService } from './role.service'; import { UserService } from './user.service'; export declare class AdministratorService { private connection; private configService; private listQueryBuilder; private passwordCipher; private userService; private roleService; private customFieldRelationService; constructor(connection: TransactionalConnection, configService: ConfigService, listQueryBuilder: ListQueryBuilder, passwordCipher: PasswordCiper, userService: UserService, roleService: RoleService, customFieldRelationService: CustomFieldRelationService); initAdministrators(): Promise; findAll(ctx: RequestContext, options?: ListQueryOptions): Promise>; findOne(ctx: RequestContext, administratorId: ID): Promise; findOneByUserId(ctx: RequestContext, userId: ID): Promise; create(ctx: RequestContext, input: CreateAdministratorInput): Promise; update(ctx: RequestContext, input: UpdateAdministratorInput): Promise; /** * Assigns a Role to the Administrator's User entity. */ assignRole(ctx: RequestContext, administratorId: ID, roleId: ID): Promise; softDelete(ctx: RequestContext, id: ID): Promise<{ result: DeletionResult; }>; /** * There must always exist a SuperAdmin, otherwise full administration via API will * no longer be possible. */ private ensureSuperAdminExists; }