declare namespace Api {
  /** 角色模板类型 */
  namespace RoleTemplate {
    /** 权限模板 DTO */
    interface PermissionTemplateDto {
      code: string
      name: string
      description?: string
    }

    /** 角色模板 DTO */
    interface RoleTemplateDto {
      templateCode: string
      name: string
      description?: string
      isActive: boolean
      permissions: PermissionTemplateDto[]
    }

    /** 创建角色模板参数 */
    interface CreateRoleTemplateCommand {
      templateCode: string
      name: string
      description?: string
      isActive: boolean
      permissionCodes?: string[]
    }

    /** 更新角色模板参数 */
    interface UpdateRoleTemplateCommand {
      templateCode?: string
      name?: string
      description?: string
      isActive?: boolean
      permissionCodes?: string[]
    }

    /** 克隆角色模板参数 */
    interface CloneRoleTemplateCommand {
      sourceTemplateCode?: string
      newTemplateCode?: string
      name?: string
      description?: string
      isActive?: boolean
      permissionCodes?: string[]
    }

    /** 初始化角色模板参数 */
    interface InitializeRoleTemplatesCommand {
      templateCodes?: string[]
    }
  }
}
