
importFrom(Rcpp, evalCpp)
#import(RcppEigen)

# Exported functions
export(jmodelTM, jmodelMult, dataPreprocess)

# Imported functions
importFrom(nlme, fixed.effects)
importFrom(nlme, fixef)
importFrom(nlme, random.effects)
importFrom(nlme, ranef)
importFrom(nlme, splitFormula)
importFrom(statmod, gauss.quad)
importFrom(stats, AIC)
importFrom(stats, BIC) 
importFrom("stats", "cov2cor", "formula", "model.frame", "qnorm", 
           "model.matrix", "model.response", "pnorm", "printCoefmat",
           "terms")
import(survival,splines) 

# S3 methods
S3method(logLik, jmodelTM)
S3method(logLik, jmodelMult)
S3method(BIC, jmodelTM)
S3method(BIC, jmodelMult)
S3method(print, jmodelTM)
S3method(print, jmodelMult)
S3method(print, summary.jmodelTM)
S3method(print, summary.jmodelMult)
S3method(summary, jmodelTM)
S3method(summary, jmodelMult)
S3method(vcov, jmodelTM)
S3method(vcov, jmodelMult)
S3method(AIC, jmodelTM)
S3method(AIC, jmodelMult)

# Added S3 methods
S3method(fitted, jmodelTM)
S3method(fitted, jmodelMult)
S3method(ranef, jmodelTM)
S3method(ranef, jmodelMult)
S3method(residuals, jmodelTM)
S3method(residuals, jmodelMult)
S3method(confint, jmodelTM)
S3method(confint, jmodelMult)
S3method(print, confint.jmodelTM)
S3method(print, confint.jmodelMult)

useDynLib(JSM, .registration = TRUE) 
