import (secr)
import (parallel)

importFrom (graphics, "axis", "box", "contour", "plot", "points", "segments", "mtext", "lines", "par")
importFrom (utils, "packageDescription", "packageVersion", "flush.console", "combn", "head", "tail")
importFrom (MASS, "ginv", "eqscplot")
importFrom (nlme, "fdHess")
importFrom (stringr, "str_trim", "str_split", "str_c", "str_pad")
importFrom (plyr, "count", "rbind.fill")
importFrom (abind, "abind")
importFrom (stats, "AIC", "coef", "logLik", "as.formula", "model.matrix", "nlm", "optim", "vcov",
             "predict", "qnorm", "dpois", "dbinom", "dnbinom", "runif", "sd", "median")
importFrom (methods, "formalArgs")
importFrom (Rcpp, "evalCpp")
importFrom (RcppParallel, "RcppParallelLibs", "setThreadOptions", "defaultNumThreads")
# suggests, not imports from 1.3.1
# importFrom (R2ucare, "test3sr", "test3sm", "test2ct", "test2cl", "overall_CJS")

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 (classMembership)

export (openCR.make.newdata)
export (openCR.design)
export (openCR.esa)
export (openCR.pdot)
export (plotKernel)
export (ucare.cjs)
export (moving.fit)
export (extractFocal)

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

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

S3method(rev, capthist)

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

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


