import("graphics", "stats", "Formula")

importFrom("sandwich", "estfun")
importFrom("sandwich", "bread")

importFrom("lmtest", "coeftest")
importFrom("lmtest", "coeftest.default")

importClassFrom("flexmix", "FLXM")
importClassFrom("flexmix", "FLXMR")
importClassFrom("flexmix", "FLXMRfix")

importFrom("flexmix", "existGradient")
importFrom("flexmix", "FLXdeterminePostunscaled")
importFrom("flexmix", "FLXgetModelmatrix")
importFrom("flexmix", "FLXgetDesign")
importFrom("flexmix", "FLXgradlogLikfun")
importFrom("flexmix", "FLXmstep")
importFrom("flexmix", "FLXremoveComponent")
importFrom("flexmix", "FLXreplaceParameters")
importFrom("flexmix", "FLXgetParameters")
importFrom("flexmix", "refit_optim")
importFrom("flexmix", "logLik")
importFrom("flexmix", "summary")
importFrom("flexmix", "predict")
importFrom("flexmix", "fitted")

importFrom("modeltools", "clusters")
importFrom("modeltools", "getModel")
importFrom("modeltools", "parameters")
importFrom("modeltools", "posterior")
importFrom("modeltools", "refit")

importFrom("methods", "new")
importFrom("methods", "show")
importFrom("methods", "setOldClass")
importFrom("methods", "setClass")
importFrom("methods", "setMethod")

export(
  ## beta regression
  "betareg",
  "betareg.control",
  "betareg.fit",
  "gleverage",
  
  ## beta regression trees
  "betatree",
  "betaReg",
  "reweight.betaReg",
  "sctest.betatree",

  ## beta mixture models
  "betamix",
  "extraComponent"
)

## methods for class betareg
S3method("bread", "betareg")
S3method("coef", "betareg")
S3method("coeftest", "betareg")
S3method("cooks.distance", "betareg")
S3method("estfun", "betareg")
S3method("gleverage", "betareg")
S3method("hatvalues", "betareg")
S3method("logLik", "betareg")
S3method("model.frame", "betareg")
S3method("model.matrix", "betareg")
S3method("plot", "betareg")
S3method("predict", "betareg")
S3method("print", "betareg")
S3method("residuals", "betareg")
S3method("summary", "betareg")
S3method("terms", "betareg")
S3method("print", "summary.betareg")
S3method("update", "betareg")
S3method("vcov", "betareg")

## methods for class betaReg
S3method("estfun", "betaReg")
S3method("print", "betaReg")
S3method("summary", "betaReg")

## methods for class betatree
S3method("coef", "betatree")
S3method("logLik", "betatree")
S3method("plot", "betatree")
S3method("print", "betatree")
S3method("summary", "betatree")
S3method("weights", "betatree")

## methods for class betamix
S3method("coef", "betamix")
S3method("logLik", "betamix")
S3method("print", "betamix")
S3method("summary", "betamix")
exportMethods("fitted")
exportMethods("posterior")
exportMethods("clusters")
exportMethods("predict")
