
useDynLib("tram", .registration = TRUE)

import("mlt")
import("variables")
import("basefun")
import("Formula")
import("mvtnorm")
importFrom("methods", "as")
importFrom("sandwich", "vcovCL", "estfun", "bread")
importFrom("multcomp", "cftest", "adjusted_calpha", "univariate_calpha", "glht")
importFrom("stats", "model.matrix", "coef", "vcov", "nobs", "predict", "quantile", "na.omit",
           "logLik", "model.response", "model.weights", "model.offset", "terms", "as.formula",
           "printCoefmat", "qqline", "qqplot", "qunif", "variable.names", "pchisq",
           "model.frame", "pnorm", "qnorm", "sigma", "residuals", "qchisq", "approx", "spline",
           "confint", "relevel", "resid", "ecdf", "dnorm", "weights", "lm", "simulate", 
           "plogis", "qlogis", "dist", "uniroot", "optim", "runif", "rnorm", "update")
importFrom("Matrix", "Matrix", "bdiag", "Diagonal", "Cholesky", "crossprod", 
           "update", "t", "determinant", "rowSums", "diag")
importFrom("survival", "survfit", "Surv", "coxph.control")
importFrom("graphics", "plot", "lines", "polygon", "abline")

export(tram, tram_data, Coxph, Aareg, Colr, Polr, Lm, BoxCox, Survreg, Lehmann, 
       mtram, score_test, perm_test, mmlt, mmltoptim, PI, OVL, TV, L1, ROC, Compris)

S3method("as.mlt", "tram")
S3method("model.matrix", "tram")
S3method("model.matrix", "stram")
S3method("coef", "tram")
S3method("coef", "Lm")
S3method("coef", "Survreg")
S3method("coef", "mtram")
S3method("Hessian", "mtram")
S3method("vcov", "mtram")
S3method("vcov", "tram")
S3method("nobs", "mlt")
S3method("nobs", "tram")
S3method("logLik", "tram")
S3method("Gradient", "tram")
S3method("Hessian", "tram")
S3method("logLik", "mtram")
S3method("estfun", "tram")
S3method("bread", "tram")
S3method("predict", "tram")
S3method("predict", "stram")
S3method("summary", "tram")
S3method("model.frame", "tram")
S3method("terms", "tram")
S3method("print", "tram")
S3method("print", "summary.tram")
S3method("plot", "tram")
S3method("update", "tram")
S3method("residuals", "tram")
S3method("simulate", "tram")
S3method("profile", "tram")
S3method("score_test", "tram")
S3method("score_test", "default")
S3method("score_test", "glm")
S3method("score_test", "coxph")
S3method("perm_test", "tram")
S3method("perm_test", "default")
S3method("perm_test", "glm")
S3method("perm_test", "coxph")
S3method("confint", "htest")
S3method("confint", "htests")

S3method("logLik", "mmlt")
S3method("estfun", "mmlt")
S3method("coef", "cmmlt")
S3method("coef", "mmmlt")
S3method("vcov", "mmlt")
S3method("predict", "mmlt")
S3method("summary", "mmlt")
S3method("print", "summary.mmlt")
S3method("print", "mmlt")
S3method("simulate", "mmlt")
S3method("variable.names", "mmlt")
S3method("mkgrid", "mmlt")

S3method("PI", "tram")
S3method("PI", "stram")
S3method("PI", "default")
S3method("OVL", "tram")
S3method("OVL", "stram")
S3method("OVL", "default")
S3method("TV", "tram")
S3method("TV", "stram")
S3method("TV", "default")
S3method("L1", "tram")
S3method("L1", "stram")
S3method("L1", "default")
S3method("ROC", "tram")
S3method("ROC", "stram")
S3method("ROC", "default")
S3method("plot", "ROCtram")
