useDynLib(ipred, .registration = TRUE)

### exported functions
export(
getsurv,
bagging, 
ipredbagg,
control.errorest, 
errorest, 
bootest, 
cv, 
inbagg, 
inclass, 
ipredknn, 
predict.ipredknn,
kfoldcv, mypredict.lm, rsurv, sbrier, varset,
slda)

importFrom("stats", "as.formula", "complete.cases", "cov",
     "delete.response", "model.extract", "model.frame",
     "model.matrix", "na.omit", "naresid", "predict", "rexp",
     "rnorm", "runif", "terms")
importFrom("utils", "data", "getFromNamespace")

### register S3 methods
#S3method(print, bagging) 
S3method(slda, default)
S3method(slda, formula)
S3method(slda, factor)
S3method(bagging, default)
S3method(bagging, data.frame)
S3method(errorest, default)
S3method(errorest, data.frame)
S3method(bootest, default)
S3method(bootest, integer)
S3method(bootest, factor)
S3method(bootest, numeric)
S3method(bootest, Surv)
S3method(inbagg, default)
S3method(inbagg, data.frame)
S3method(inclass, default)
S3method(inclass, data.frame)
S3method(cv, default)
S3method(cv, integer)
S3method(cv, factor)
S3method(cv, numeric)
S3method(cv, Surv)
S3method(ipredbagg, Surv)
S3method(ipredbagg, factor)
S3method(ipredbagg, numeric)
S3method(prune, classbagg)  
S3method(prune, survbagg)   
S3method(prune, classbagg)  
S3method(print, classbagg)
S3method(print, regbagg)
S3method(print, survbagg)              
S3method(print, classbagg)              
S3method(summary, classbagg)
S3method(summary, survbagg) 
S3method(summary, classbagg)
S3method(print, cvclass)
S3method(print, bootestclass) 
S3method(print, cvreg)
S3method(print, bootestreg)       
S3method(print, cvsurv)
S3method(print, bootestsurv)
S3method(print, inbagg)
S3method(summary, inbagg) 
S3method(print, inclass)   
S3method(summary, inclass)
S3method(predict, inbagg)
S3method(predict, inclass)
S3method(predict, classbagg)
S3method(predict, regbagg)
S3method(predict, survbagg)  
S3method(predict, slda)
S3method(predict, ipredknn) 
#S3method(predict, sclass)
#S3method(predict, sreg)
S3method("ipredbagg", "default")
S3method("ipredbagg", "integer")

##imported functions
importFrom(class, knn)
importFrom(rpart, rpart, prune, na.rpart, rpart.control)
importFrom(MASS, lda)
importFrom(survival, Surv, is.Surv, survfit)
importFrom(nnet, multinom)
importFrom(prodlim, prodlim)
