local group = class("core.ui.groupBase")

function group:ctor(ui, config)
  self._ui = ui
  self._config = config
  self._disablePlayerInputRefCounter = require("core.refCounter").new(function(this)
    this:internalDisableRaycaster()
  end, function(this)
    this:internalEnableRaycaster()
  end, self)
end

function group:open(name, options, callback)
end

function group:close(name, options, callback)
end

function group:show(pageName, options)
end

function group:hide(pageName, options)
end

function group:update()
end

function group:destroy(pageName, options)
end

function group:internalOnPageClose(page)
  if page == nil then
    return
  end
  if page.isPlaceholder then
    return
  end
  local closeCallback = page.options and page.options.closeCallback
  if closeCallback then
    local cbArg = page.cls.closeCallbackArg
    closeCallback(cbArg)
  end
end

function group:currentPage()
end

function group:internalEnableRaycaster()
end

function group:internalDisableRaycaster()
end

function group:enableRaycaster()
  self._disablePlayerInputRefCounter:release()
end

function group:disableRaycaster()
  self._disablePlayerInputRefCounter:retain()
end

function group:info()
end

function group:pageInfo(pageName)
end

function group:getPage(pageName)
end

function group:getAllPages()
end

function group:refreshAllPages()
end

function group:clearAllPages()
end

return group
