import { AxiosResponse } from 'axios'; import { Config } from './config'; import Request from './request'; import { CasdoorResponse } from './util'; export interface Ldap { id: string; owner: string; createdTime?: string; serverName?: string; host?: string; port?: number; enableSsl?: boolean; allowSelfSignedCert?: boolean; username?: string; password?: string; baseDn?: string; filter?: string; filterFields?: string[]; defaultGroup?: string; defaultGroups?: string[]; passwordType?: string; customAttributes?: Record; autoSync?: number; lastSync?: string; enableGroups?: boolean; enablePasswordReset?: boolean; } export interface LdapUser { uidNumber?: string; uid?: string; cn?: string; gidNumber?: string; uuid?: string; userPrincipalName?: string; displayName?: string; Mail?: string; email?: string; EmailAddress?: string; TelephoneNumber?: string; mobile?: string; MobileTelephoneNumber?: string; RegisteredAddress?: string; PostalAddress?: string; country?: string; countryName?: string; groupId?: string; address?: string; memberOf?: string[]; attributes?: Record; } export interface LdapUsersResponse { existUuids: string[]; users: LdapUser[]; } export interface SyncLdapUsersResponse { exist: LdapUser[]; failed: LdapUser[]; } export declare class LdapSDK { private config; private readonly request; constructor(config: Config, request: Request); getLdaps(): Promise, any>>; getLdap(id: string): Promise, any>>; getLdapUsers(id: string): Promise, any>>; syncLdapUsers(id: string, users: LdapUser[]): Promise, any>>; syncLdapUsersFromServer(id: string): Promise, any>>; modifyLdap(method: string, ldap: Ldap, columns?: string[], params?: Record): Promise, any>>; addLdap(ldap: Ldap): Promise, any>>; updateLdap(ldap: Ldap): Promise, any>>; deleteLdap(ldap: Ldap): Promise, any>>; }