useDynLib(hisse, .registration = TRUE)

export(hisse, hisse.null4, MarginRecon, MarginReconGeoSSE, SupportRegion, TransMatMaker, ParDrop, ParEqual, BisseToHisse, plot.hisse.states, SimulateHisse, SimToPhylo, GetModelAveRates, GetModelAveEqFreqs, GeoHiSSE, TransMatMakerGeoHiSSE, SimulateGeoHiSSE, TranslateParsMakerGeoHiSSE, plot.geohisse.states, SupportRegionGeoSSE, GetAICWeights, MuHiSSE, TransMatMakerMuHiSSE, MarginReconMuHiSSE, SupportRegionMuHiSSE, fGeoHiSSE, TransMatMakerfGeoHiSSE, MarginReconfGeoSSE, generateMiSSEGreedyCombinations, makeHiSSELikelihood, plot.muhisse.states, MiSSE, MiSSEGreedy, MarginReconMiSSE, SupportRegionMiSSE, plot.misse.states, hisse.new, TransMatMakerfHiSSE, MarginReconfHiSSE, SupportRegionfHiSSE, makeGeoHiSSELikelihood)
import(ape, data.table, deSolve, GenSA, subplex, nloptr)
importFrom("parallel", "mclapply", "mcmapply")
importFrom("phytools", "nodeHeights", "fastAnc", "anc.ML", "getDescendants")
importFrom("grDevices", "colorRampPalette", "nclass.Sturges", "rainbow", "dev.flush", "dev.hold")
importFrom("graphics", "hist", "par", "plot", "rect", "segments", "text", "lines", "plot.new", "plot.window", "points", "strwidth")
importFrom("methods", "hasArg")
importFrom("utils", "capture.output")
importFrom("stats", "dbeta", "density", "quantile", "reorder", "rexp", "runif", "weighted.mean", "rbinom", "median", "optimize", "setNames")
importFrom("diversitree", "tree.classe")
importFrom("plotrix", "draw.arc")
importFrom("stats", "lm", "predict")
S3method(print, hisse.fit)
S3method(print, hisse.null4.fit)
S3method(print, hisse.states)
S3method(print, hisse.geosse.states)
S3method(print, hisse.support)
S3method(print, geohisse.fit)
S3method(print, geohisse.support)
S3method(print, muhisse.fit)
S3method(print, muhisse.states)
S3method(print, muhisse.support)
S3method(print, misse.fit)
S3method(print, misse.states)
S3method(print, misse.support)
S3method(print, fhisse.fit)
S3method(print, fhisse.support)
S3method(plot, hisse.states)
S3method(plot, geohisse.states)
S3method(plot, muhisse.states)
S3method(plot, misse.states)
