useDynLib(markovchain, .registration = TRUE)
#useDynLib(markovchain)
#exportPattern("^[[:alpha:]]+")
export("absorbingStates","assessOrder","assessStationarity","canonicForm","communicatingClasses","conditionalDistribution",
       "createSequenceMatrix","ctmcFit","firstPassage","fitHigherOrder","fitHighOrderMultivarMC","generatorToTransitionMatrix",
       "hommc","inferHyperparam","is.accessible","is.irreducible","markovchainFit","markovchainListFit","markovchainSequence",
       "multinomialConfidenceIntervals","name","name<-","period","predict","predictiveDistribution","priorDistribution","rctmc",
       "recurrentClasses","rmarkovchain","seq2freqProb","seq2matHigh","states","steadyStates","transientStates","transition2Generator",
       "transitionProbability","verifyEmpiricalToTheoretical","verifyHomogeneity","verifyMarkovProperty")
import(igraph, Matrix,  methods)
import(parallel)
importFrom(utils, packageDescription)
importFrom(Rcpp, evalCpp)
importFrom(RcppParallel, RcppParallelLibs)
importFrom("stats4",  plot, summary)
importFrom("matlab", zeros, find, eye, size, ones)
importFrom("expm",'%^%','logm')
importFrom("stats", sd,rexp,chisq.test,pchisq, predict, aggregate)

exportMethods(
    "*",
    "^",
    "==",
    "absorbingStates",
    "transientStates",
    "coerce",
    "dim",
    "initialize",
    #"plotMc",
    "plot",
    "print",
	"summary",
	"predict",
    "show",
    "states",
    "steadyStates",
    "canonicForm",
    "t",
	"[",
    "transitionProbability",
    "conditionalDistribution",
	"canonicForm"
)
exportClasses(
    "markovchain",
     "markovchainList" 
)
