import { BaseService, ValidatedResponse } from '@txstate-mws/graphql-server'; import { DosGatoService, User, type UserFilter, UserResponse, UsersResponse, type UpdateUserInput } from '../internal.js'; export declare class UserServiceInternal extends BaseService { find(filter: UserFilter): Promise; findByGroupId(groupId: string, direct?: boolean, filter?: UserFilter): Promise; findByRoleId(roleId: string, direct?: boolean, filter?: UserFilter): Promise; findSiteManagers(siteId: string): Promise; findGroupManagers(groupId: string, direct?: boolean): Promise; findByInternalId(id: number): Promise; findById(id: string): Promise; getTrainings(id: number): Promise; } export declare class UserService extends DosGatoService { raw: UserServiceInternal; find(filter: UserFilter): Promise; findByGroupId(groupId: string, direct?: boolean, filter?: UserFilter): Promise; findByRoleId(roleId: string, direct?: boolean, filter?: UserFilter): Promise; findSiteManagers(siteId: string): Promise; findGroupManagers(groupId: string, direct?: boolean): Promise; findByInternalId(id: number): Promise; findById(id: string): Promise; createUser(id: string, lastname: string, email: string, firstname: string | undefined, trainings: string[] | undefined, system: boolean | undefined, validateOnly?: boolean): Promise; updateUser(id: string, args: UpdateUserInput, validateOnly?: boolean): Promise; addTrainings(trainingId: string, userIds: string[]): Promise; disableUsers(ids: string[]): Promise; enableUsers(ids: string[]): Promise; mayCreate(): boolean; mayUpdate(user: User): boolean; mayDisable(user: User): boolean; mayView(user: User): boolean; mayList(): boolean; protected removeProperties(user: User): User; }