import { FetchRepositoryBase } from "../../../shared/index.js"; import type { CreateRoleRequest, Role, RolesListResponse } from "./AdminRolesRepository.d.js"; export declare class AdminRolesRepository extends FetchRepositoryBase { /** * List all roles in the platform * @param page - Page number (default: 1) * @param perPage - Results per page (default: 100 to get all roles in one call) * @returns List of roles with metadata */ listRoles(page?: number, perPage?: number): Promise; /** * Get a specific role by ID * @param roleId - Role ID * @returns Role details or undefined if not found */ getRole(roleId: number): Promise; /** * Find roles by context (account, site, space, realm) * @param context - Role context * @returns Array of roles matching the context */ findRolesByContext(context: "account" | "site" | "space" | "realm"): Promise; /** * Find a role by key (e.g., "site_admin", "space_admin") * @param key - Role key * @returns Role or undefined if not found */ findRoleByKey(key: string): Promise; /** * Create a new role * @param request - Role creation request with name, context, and optional grouped_permissions * @returns Created role */ createRole(request: CreateRoleRequest): Promise; /** * Validate if a role ID exists * @param roleId - Role ID to validate * @returns True if role exists, false otherwise */ validateRoleId(roleId: number): Promise; } //# sourceMappingURL=AdminRolesRepository.d.ts.map