import type { Queryable } from 'mysql2-async'; import { type RoleInput, Role, type RoleFilter } from '../internal.js'; export declare function getRoles(filter?: RoleFilter): Promise; export declare function getRolesWithGroup(groupIds: string[]): Promise<{ key: string; value: Role; }[]>; export declare function getRolesForUsers(userIds: string[]): Promise<{ key: string; value: Role; }[]>; export declare function getRolesWithManager(managerIds: string[]): Promise<{ key: any; value: Role; }[]>; export declare function roleNameIsUnique(name: string): Promise; export declare function accessLevelUniqueForSite(siteId: string, access: string, roleName: string): Promise; export declare function createRole(input: RoleInput): Promise; export declare function updateRole(id: string, input: RoleInput): Promise; export declare function deleteRole(id: string): Promise; export declare function addRolesToUser(roleIds: string[], userId: number, tdb?: Queryable): Promise; export declare function assignRoleToUsers(roleId: string, userIds: number[]): Promise; export declare function removeRoleFromUser(roleId: string, userId: number, tdb?: Queryable): Promise; export declare function addRoleToGroups(groupIds: string[], roleId: string): Promise; export declare function removeRoleFromGroup(groupId: string, roleId: string): Promise; export declare function updateSiteTeamMemberAccess(siteId: string, userId: number, roleIds: string[]): Promise; export declare function addRoleSite(roleId: string, siteId: string): Promise; export declare function removeRoleSite(roleId: string, siteId: string): Promise;