useDynLib(randomForestSRC, .registration = TRUE)

importFrom("data.tree", "FromDataFrameNetwork", "SetGraphStyle",
           "SetEdgeStyle", "SetNodeStyle", "Do", "GetDefaultTooltip")
importFrom("DiagrammeR", "render_graph", "create_graph",
           "create_node_df", "create_edge_df", "add_global_graph_attrs")
importFrom("parallel", mclapply)
importFrom("graphics", "abline", "axis", "box", "boxplot", "bxp",
           "legend", "lines", "matlines", "matplot", "mtext", "par", "plot",
           "plot.new", "plot.window", "points", "rug", "segments",
           "strwidth", "text", "title", "grconvertX", "grconvertY", "plot.default")
importFrom("stats", "as.dist", "as.formula", "cutree", "dlnorm", "formula",
           "hclust", "lowess", "median", "model.matrix", "na.omit",
           "optim", "pgamma", "plnorm", "pnorm", "predict", 
           "quantile", "qnorm", "runif", "sd", "supsmu", "var", "wilcox.test", "rnorm",
           "lm", "coef", "binom.test", "rmultinom", "setNames")
importFrom("utils", "installed.packages", "txtProgressBar", "setTxtProgressBar",
           "write.table", "tail", "object.size", "combn", "flush.console")
importFrom("grDevices", "gray")

export(extract.bootsample,
       extract.quantile,
       extract.subsample,
       get.auc,
       get.bayes.rule,
       get.brier.error,
       get.brier.survival,
       get.cindex,
       get.confusion,
       get.imbalanced.performance,
       get.imbalanced.optimize,
       get.logloss,
       get.misclass.error,
       get.mv.cserror,
       get.mv.csvimp,
       get.mv.error,
       get.mv.error.block,
       get.mv.formula,
       get.mv.predicted,
       get.mv.vimp,
       get.partial.plot.data,
       get.pr.auc,
       get.pr.curve,
       get.quantile,
       get.quantile.crps,
       get.quantile.stat,
       get.rfq.threshold,
       get.tree,
       get.tree.rfsrc,
       holdout.vimp,
       holdout.vimp.rfsrc,
       imbalanced,
       imbalanced.rfsrc,
       impute,       
       impute.rfsrc,
       impute.learn,
       impute.learn.rfsrc,
       load.impute.learn,
       load.impute.learn.rfsrc,
       max.subtree,
       max.subtree.rfsrc,
       partial,
       partial.rfsrc,
       plot.competing.risk,
       plot.competing.risk.rfsrc,
       plot.quantreg,
       plot.quantreg.rfsrc,
       plot.rfsrc,
       plot.subsample,
       plot.subsample.rfsrc,       
       plot.survival,
       plot.survival.rfsrc,
       plot.variable,
       plot.variable.rfsrc,       
       predict.rfsrc,
       print.rfsrc,
       print.bootsample,
       print.bootsample.rfsrc,
       print.imbalanced.performance,
       print.subsample,
       print.subsample.rfsrc,
       quantreg,
       quantreg.rfsrc,
       rfsrc,
       rfsrc.anonymous,
       rfsrc.cart,
       rfsrc.fast,
       rfsrc.news,
       save.impute.learn,
       save.impute.learn.rfsrc,
       sid.perf.metric,
       sidClustering,
       sidClustering.rfsrc,
       subsample,
       subsample.rfsrc,
       tune,
       tune.rfsrc,
       tune.nodesize,
       tune.nodesize.rfsrc,
       vimp,
       vimp.rfsrc)




export(fast.save)
export(fast.load)
export(fast.save.list)
export(fast.load.list)
export(lsos)



S3method(max, subtree)
S3method(max, subtree.rfsrc)

S3method(plot, competing.risk)
S3method(plot, competing.risk.rfsrc)
S3method(plot, quantreg)
S3method(plot, quantreg.rfsrc)
S3method(plot, rfsrc)
S3method(plot, subsample)
S3method(plot, subsample.rfsrc)
S3method(plot, survival)
S3method(plot, survival.rfsrc)
S3method(plot, variable)
S3method(plot, variable.rfsrc)

S3method(predict, rfsrc)
S3method(predict, impute.learn)
S3method(predict, impute.learn.rfsrc)


S3method(print, rfsrc)
S3method(print, bootsample)
S3method(print, bootsample.rfsrc)
S3method(print, imbalanced.performance)
S3method(print, impute.learn)
S3method(print, impute.learn.rfsrc)
S3method(print, subsample)
S3method(print, subsample.rfsrc)




