import { ModuleOptionsConfig } from '../../common/interfaces'; import { ConsumerAppService } from '../../common/interfaces'; import { AddOrDeleteUserToGroupDto, CacheResponseDto, ChangeDefaultGroupDto, ChangeUserPasswordDto, ChangeUserRecordDto, CreateGroupRecordDto, CreateUserRecordDto, DeleteGroupRecordDto, DeleteUserRecordDto, SearchGroupRecordResponseDto, SearchUserPaginatorResponseDto, SearchUserRecordResponseDto, SearchUserRecordsDto } from './dto'; import { ChangeUserRecordOperation, GroupTypeOu, UpdateCacheOperation } from './enums'; export declare class LdapService { private readonly config; private readonly consumerAppService; private ldapClient; private searchBase; private searchUserFilter; private searchUserAttributes; private searchGroupFilter; private searchCacheFilter; private searchGroupAttributes; private searchGroupProfilesPrefix; private searchGroupPermissionsPrefix; private searchGroupExcludeProfileGroups; private searchGroupExcludePermissionGroups; private newUserDnPostfix; private baseDN; private cache; constructor(config: ModuleOptionsConfig, consumerAppService: ConsumerAppService); init(config: ModuleOptionsConfig): Promise; private getUserPasswordHash; validateUserPassword(username: string, group: string, password: string): Promise; updateCachedUser(operation: UpdateCacheOperation, username: string): Promise; getUserRecord: (username: string) => Promise; initUserRecordsCache: (filter: string, pageSize?: number) => Promise; getUserRecords: (searchUserRecordsDto: SearchUserRecordsDto) => Promise; createUserRecord(createLdapUserDto: CreateUserRecordDto): Promise; addOrDeleteUserToGroup(operation: ChangeUserRecordOperation, addUserToGroupDto: AddOrDeleteUserToGroupDto): Promise; updateDefaultGroup(changeDefaultGroupDto: ChangeDefaultGroupDto): Promise; deleteUserRecord(deleteUserRecordDto: DeleteUserRecordDto): Promise; changeUserRecord(changeUserRecordDto: ChangeUserRecordDto): Promise; changeUserProfilePassword(username: string, changeUserPasswordDto: ChangeUserPasswordDto): Promise; createGroupRecord(createLdapGroupDto: CreateGroupRecordDto): Promise; deleteGroupRecord(deleteGroupRecordDto: DeleteGroupRecordDto): Promise; getGroupRecord: (groupName: string, groupType: GroupTypeOu, groupExcludeGroups: boolean) => Promise; }