useDynLib(MSBVAR, .registration=TRUE)
import(KernSmooth)
import(coda)

export(
       dfev,
       print.dfev,
       summary.dfev,
       granger.test,
       var.lag.specification,
       SZ.prior.evaluation,
       decay.spec,
       reduced.form.var,
       szbvar,
       szbsvar,
       gibbs.A0,
       mcmc.szbsvar,
       normalize.svar,
       A02mcmc,
       irf,
       mc.irf,
       null.space,
       mae,
       restmtx,
       rmse,
       rmultnorm,
       ldwishart,
       rwishart,
       cf.forecasts,
       forc.ecdf,
       forecast,
       hc.forecast,
       uc.forecast,
       posterior.fit,
       mountains,
       plot.gibbs.A0,
       plot.irf,
       plot.mc.irf,
       plot.forecast,
       plot.forc.ecdf,
       plotregimeid,
       print.posterior.fit,
       summary.forecast,
       list.print,
       SS.ffbs,
       sum.SS,
       mean.SS,
       plot.SS,
       ddirichlet,
       rdirichlet,
       msbvar,
       gibbs.msbvar,
       summary,
       initialize.msbvar,
       simulateMSVAR,
       simulateMSAR,
       msvar
       )

# Declare S3 methods for printing and summaries

S3method(print, posterior.fit.BVAR)
S3method(print, posterior.fit.BSVAR)
S3method(print, posterior.fit.MSBVAR)
S3method(print, dfev)

S3method(summary, dfev)

S3method(summary, forecast.VAR)
S3method(summary, forecast.BVAR)
S3method(summary, forecast.BSVAR)

S3method(plot, forecast)

S3method(summary, VAR)
S3method(summary, BVAR)
S3method(summary, BSVAR)

# S3 method for gibbs.A0 objects
S3method(plot, gibbs.A0)

# Plot methods for IRF and forecasts
S3method(plot, irf)
S3method(plot, mc.irf)
S3method(plot, forecast.VAR)

# Summary and plot methods for objects of SS class.
#S3method(summary, SS)
S3method(sum, SS)
S3method(mean, SS)
S3method(plot, SS)

