declare namespace Api {
  /** 租户角色类型 */
  namespace TenantRole {
    /** 角色 DTO */
    interface RoleDto {
      id: string // long -> string
      tenantId: string // long -> string
      name: string
      code: string
      description?: string
    }

    /** 角色分页结果 */
    interface RoleDtoPagedResult {
      items: RoleDto[]
      totalCount: number // Swagger usually returns totalCount or total? Need to check PagedResult schema
    }

    /** 角色分页查询参数 */
    interface RoleQueryParams {
      TenantId?: string
      Keyword?: string
      Page?: number
      PageSize?: number
      SortBy?: string
      SortDescending?: boolean
    }

    /** 创建角色参数 */
    interface CreateRoleCommand {
      name: string
      code: string
      description?: string
      copyFromTemplateId?: string
    }

    /** 更新角色参数 */
    interface UpdateRoleCommand {
      roleId: string // long -> string
      name?: string
      description?: string
    }
  }
}
