# NAMESPACE for package 'mcmcOutput'

importFrom("coda", "mcmc.list")
importFrom("HDInterval", "hdi")

importFrom("stats", "window", "median", "sd", "cor", "quantile",
    "bw.nrd0", "bw.SJ", "bw.bcv", "bw.nrd", "bw.ucv", "density", "acf")
importFrom("utils", "head", "tail", "str", "object.size", "modifyList")
importFrom("grDevices", "dev.interactive", "devAskNewPage", "colorRampPalette", "rgb")
importFrom("graphics", "plot", "plot.default", "abline", "box", "layout", "matplot",
    "par", "segments", "text", "title", "rect", "hist", "lines", "polygon", "strwidth")

# Functions
export("sumryList", "diagPlot", "crosscorrPlot", "postPlot", "discrepancyPlot",
    "tracePlot", "densityPlot", "acfPlot", "bigCrosscorr",
    "densityFolded", "postPriorOverlap",
    "getMCE", "getNeff", "getRhat")

# Constructor methods
export("mcmcOutput")
S3method("mcmcOutput", "default") # returns error
S3method("mcmcOutput", "mcmc.list")
S3method("mcmcOutput", "mcmc")
S3method("mcmcOutput", "jagsUI")
S3method("mcmcOutput", "bugs")
S3method("mcmcOutput", "rjags")
S3method("mcmcOutput", "runjags")
S3method("mcmcOutput", "numeric")
S3method("mcmcOutput", "matrix")
S3method("mcmcOutput", "array") # returns error
S3method("mcmcOutput", "data.frame")

# Extractors
S3method("$", "mcmcOutput")
S3method("[", "mcmcOutput")

# Featured methods
S3method("print", "mcmcOutput")
S3method("summary", "mcmcOutput")
S3method("window", "mcmcOutput")
S3method("plot", "mcmcOutput")

# General methods that don't work otherwise
S3method("head", "mcmcOutput")
S3method("tail", "mcmcOutput")
S3method("str", "mcmcOutput")
S3method("names", "mcmcOutput")
