import type { CreateGroupParams, CreateRoleParams, CreateUserParams, GetProfileParams, Group, GroupKey, LoginParams, LoginResult, ModifyProfileParams, Role, RoleKey, User, UserKey, UserWithProfile } from '@enonic-types/lib-auth'; import type { Server } from '../implementation/Server'; export declare class LibAuth { readonly server: Server; constructor({ server }: { server: Server; }); addMembers(principalKey: GroupKey | RoleKey, members: (UserKey | GroupKey)[]): void; createGroup(params: CreateGroupParams): Group; getMembers(principalKey: GroupKey | RoleKey): (User | Group)[]; getMemberships(principalKey: UserKey | GroupKey, transitive?: boolean): (Group | Role)[]; createRole(params: CreateRoleParams): Role; createUser(params: CreateUserParams): User; getPrincipal(userKey: UserKey): User | null; getPrincipal(groupKey: GroupKey): Group | null; getPrincipal(roleKey: RoleKey): Role | null; getProfile = Record>(params: GetProfileParams): Profile | null; getUser(params?: { includeProfile?: false; }): User | null; getUser = Record>(params: { includeProfile: true; }): UserWithProfile | null; login(params: LoginParams): LoginResult; logout(): void; modifyProfile = Record>(params: ModifyProfileParams): Profile | null; removeMembers(principalKey: GroupKey | RoleKey, members: (UserKey | GroupKey)[]): void; }