/** 角色类型。 */
export type RoleType = 'PRESET' | 'CUSTOM';

/** 角色状态。 */
export type RoleStatus = 'ENABLED' | 'DISABLED' | 'DELETED';

/** 角色响应体（RoleVO）。 */
export interface RoleVO {
  id: number;
  roleName: string;
  roleCode: string;
  description?: string;
  roleType: RoleType;
  status: RoleStatus;
}

/** GET /tenant/roles 请求参数：该接口未定义查询参数。 */
export type TenantRoleListRequest = Record<string, never>;

/** GET /tenant/roles 响应数据（ResultListRoleVO 的 data）。 */
export type TenantRoleListResponse = RoleVO[];

/** GET /tenant/roles/{id} 请求参数。 */
export interface TenantRoleDetailRequest {
  /** 角色 ID（路径参数）。 */
  id: number;
}

/** GET /tenant/roles/{id} 响应数据（ResultRoleVO 的 data）。 */
export type TenantRoleDetailResponse = RoleVO;

/** PUT /tenant/roles/{id}/toggle-status 请求参数。 */
export interface TenantRoleToggleStatusRequest {
  /** 角色 ID（路径参数）。 */
  id: number;
}

/** PUT /tenant/roles/{id}/toggle-status 响应数据（ResultVoid 的 data）。 */
export type TenantRoleToggleStatusResponse = void;

/** ProTable 筛选参数。列表接口没有查询参数，这些字段仅用于前端本地筛选。 */
export interface RoleListQuery {
  roleName?: string;
  status?: RoleStatus;
}
