import (secr)
import(parallel)

importFrom (graphics, "axis", "box", "contour", "plot", "points", "segments", "mtext")
importFrom (utils, "packageDescription", "packageVersion", "flush.console", "combn", "tail")
importFrom (MASS, "ginv", "eqscplot")
importFrom (nlme, "fdHess")
importFrom (stringr, "str_trim", "str_split", "str_c", "str_pad")
importFrom (plyr, "count")
importFrom (abind, "abind")
importFrom (stats, "AIC", "coef", "logLik", "as.formula", "model.matrix", "nlm", "optim", "vcov",
             "predict", "qnorm", "dpois", "dbinom", "dnbinom", "runif", "sd")
importFrom ("methods", "formalArgs")

export (openCR.fit)
export (par.openCR.fit)
export (openCRlist)
export (cloned.fit)
export (make.table)
export (JS.counts)
export (JS.direct)
export (m.array)
export (bd.array)
export (age.matrix)
export (read.inp)
export (squeeze)
export (unsqueeze)
export (primarysessions)
export (secondarysessions)
export (sim.nonspatial)
export (runsim.nonspatial)
export (runsim.RMark)
export (runsim.spatial)
export (sumsims)

export (openCR.make.newdata)
export (openCR.design)
export (openCR.esa)
export (openCR.pdot)
export (timevaryingcov)
# export ('timevaryingcov<-')
export (plotKernel)

S3method (plot, openCR)
S3method (derived, openCR)
S3method (derived, openCRlist)
S3method (LLsurface, openCR)

S3method(print, openCR)
S3method(print, derivedopenCR)
S3method(predict, openCR)
S3method(vcov, openCR)
S3method(AIC, openCR)
S3method(logLik, openCR)
S3method(coef, openCR)

S3method(AIC, openCRlist)
S3method(predict, openCRlist)

useDynLib (openCR, .registration = TRUE)
## DEBUGGING ONLY (cpp functions not documented)
# exportPattern("*cpp")
importFrom(Rcpp, evalCpp)


