import { APIResource } from "../../core/resource.js"; import * as RolesAPI from "./roles.js"; import * as PermissionsAPI from "./permissions.js"; import { APIResponseRolePermissions, PermissionListParams, PermissionUpdateParams, Permissions } from "./permissions.js"; import * as UsersAPI from "../users/users.js"; import { APIPromise } from "../../core/api-promise.js"; import { RequestOptions } from "../../internal/request-options.js"; export declare class Roles extends APIResource { permissions: PermissionsAPI.Permissions; /** * Create role */ create(body: RoleCreateParams, options?: RequestOptions): APIPromise; /** * Get role by ID */ retrieve(id: number, options?: RequestOptions): APIPromise; /** * Update role (partial) */ update(id: number, body: RoleUpdateParams, options?: RequestOptions): APIPromise; /** * List roles */ list(query?: RoleListParams | null | undefined, options?: RequestOptions): APIPromise; /** * Delete role */ delete(id: number, options?: RequestOptions): APIPromise; } export interface APIResponseRole extends UsersAPI.APIResponseBase { data?: Role; } export interface CreateRoleRequest { displayName: string; name: string; description?: string | null; isActive?: boolean | null; isSystem?: boolean | null; } export interface Role { id?: number; accessedAt?: string | null; createdAt?: string | null; description?: string | null; displayName?: string; isActive?: boolean; isSystem?: boolean; metadata?: { [key: string]: unknown; } | null; name?: string; updatedAt?: string | null; } export interface RoleListResponse extends UsersAPI.APIResponseBase { data?: RoleListResponse.Data; } export declare namespace RoleListResponse { interface Data { roles: Array; total: number; } } export interface RoleCreateParams { displayName: string; name: string; description?: string | null; isActive?: boolean | null; isSystem?: boolean | null; } export interface RoleUpdateParams { displayName: string; name: string; description?: string | null; isActive?: boolean | null; isSystem?: boolean | null; } export interface RoleListParams { active?: boolean; keyword?: string; page?: number; pageSize?: number; system?: boolean; } export declare namespace Roles { export { type APIResponseRole as APIResponseRole, type CreateRoleRequest as CreateRoleRequest, type Role as Role, type RoleListResponse as RoleListResponse, type RoleCreateParams as RoleCreateParams, type RoleUpdateParams as RoleUpdateParams, type RoleListParams as RoleListParams, }; export { Permissions as Permissions, type APIResponseRolePermissions as APIResponseRolePermissions, type PermissionUpdateParams as PermissionUpdateParams, type PermissionListParams as PermissionListParams, }; } //# sourceMappingURL=roles.d.ts.map