import { Context, ValidatedResponse } from '@txstate-mws/graphql-server'; import { Role, User, Group, GroupFilter, GroupResponse } from '../internal.js'; export declare class GroupResolver { groups(ctx: Context, filter?: GroupFilter): Promise; users(ctx: Context, group: Group, direct?: boolean): Promise; subgroups(ctx: Context, group: Group, recursive?: boolean): Promise; roles(ctx: Context, group: Group, direct?: boolean): Promise; supergroups(ctx: Context, group: Group, recursive?: boolean): Promise; permissions(group: Group): Group; createGroup(ctx: Context, name: string, parentId?: string, validateOnly?: boolean): Promise; updateGroup(ctx: Context, groupId: string, name: string, validateOnly?: boolean): Promise; deleteGroup(ctx: Context, groupId: string): Promise; addUserToGroups(ctx: Context, groupIds: string[], userId: string): Promise; removeUserFromGroups(ctx: Context, groupIds: string[], userId: string): Promise; setUserGroups(ctx: Context, userId: string, groupIds: string[]): Promise; setGroupUsers(ctx: Context, groupId: string, userIds: string[]): Promise; addSubgroup(ctx: Context, parentGroupId: string, childGroupId: string): Promise; removeSubgroup(ctx: Context, parentGroupId: string, childGroupId: string): Promise; } export declare class GroupPermissionsResolver { manageUsers(ctx: Context, group: Group): boolean; manageGroups(ctx: Context, group: Group): boolean; }