import { LicenseState, Logger } from '@n8n/backend-common'; import type { LdapConfig } from '@n8n/constants'; import { SettingsRepository, User } from '@n8n/db'; import type { RunningMode } from '@n8n/db'; import { Constructable } from '@n8n/di'; import type { IPasswordAuthHandler } from '@n8n/decorators'; import type { Entry as LdapUser } from 'ldapts'; import { Cipher } from 'n8n-core'; import { EventService } from '../../events/event.service'; export declare class LdapService implements IPasswordAuthHandler { private readonly logger; private readonly settingsRepository; private readonly cipher; private readonly eventService; private readonly licenseState; readonly metadata: { name: string; type: "password"; }; private client; private ldapts; private syncTimer; config: LdapConfig; readonly userClass: Constructable; constructor(logger: Logger, settingsRepository: SettingsRepository, cipher: Cipher, eventService: EventService, licenseState: LicenseState); init(): Promise; loadConfig(): Promise; updateConfig(ldapConfig: LdapConfig): Promise; setConfig(ldapConfig: LdapConfig): void; private setGlobalLdapConfigVariables; private setLdapLoginEnabled; private getClient; private bindAdmin; searchWithAdminBinding(filter: string): Promise; private hasEmailDuplicatesInLdap; validUser(dn: string, password: string): Promise; findAndAuthenticateLdapUser(loginId: string, password: string, loginIdAttribute: string, userFilter: string): Promise; testConnection(): Promise; private scheduleSync; runSync(mode: RunningMode): Promise; stopSync(): void; private getUsersToProcess; private filterEmailDuplicates; private getUsersToCreate; private getUsersToUpdate; private getUsersToDisable; handleLogin(loginId: string, password: string): Promise; }