useDynLib(BASiCS)
exportPattern("^[^\\Hidden]") 

import(SingleCellExperiment)
import(KernSmooth)

importFrom(stats, acf)
importFrom(Rcpp, evalCpp)
importFrom(coda, HPDinterval)
importFrom(methods, Summary)
importFrom(testthat, context, test_check)
importFrom(graphics, abline, barplot, legend, lines, par,
                     points, segments, smoothScatter)
importFrom(data.table, fread)
importFrom(graphics, plot)
importFrom(methods, is, new, show, slotNames, .hasSlot)
importFrom(S4Vectors, metadata)
importFrom(SummarizedExperiment, assay)
importFrom(stats, median, model.matrix, rgamma, rpois, runif)
importFrom(utils, packageVersion, write.table)
importFrom(matrixStats, rowMeans2, colMeans2,
                        rowVars, colVars,
                        colMedians)

importMethodsFrom(BiocGenerics, counts, updateObject)
importMethodsFrom(scran, computeSumFactors)

exportClasses(BASiCS_Chain , BASiCS_Summary)

exportMethods(Summary,
              plot,
              displayChainBASiCS,
              displaySummaryBASiCS)

export(BASiCS_Filter,
       newBASiCS_Data,
       newBASiCS_Chain,
       BASiCS_Sim,
       makeExampleBASiCS_Data,
       BASiCS_MCMC,
       BASiCS_LoadChain,
       BASiCS_VarianceDecomp,
       BASiCS_DetectHVG,
       BASiCS_DetectLVG,
       BASiCS_VarThresholdSearchHVG,
       BASiCS_VarThresholdSearchLVG,
       BASiCS_DenoisedRates,
       BASiCS_DenoisedCounts,
       BASiCS_TestDE)
