# C routines that can be ".Call"ed
useDynLib(stepR, .registration = TRUE)

# export
export(sdrobnorm, stepblock, stepfit, jumpint, confband,
       BesselPolynomial, bounds, bounds.MRC, chi, chi.FFT, compareBlocks, contMC,
       dfilter, jsmurf, kMRC.pvalue, kMRC.quant, kMRC.simul, MRC, MRC.FFT,
       MRC.pvalue, MRC.quant, MRC.simul, MRCoeff, MRCoeff.FFT, neighbours, smuceR,
       stepbound, stepbound.default, stepbound.stepcand, stepcand, steppath,
       steppath.default, steppath.stepcand, stepsel, stepsel.AIC, stepsel.BIC,
       stepsel.MRC, thresh.smuceR, transit)

# import functions exported from the specified packages to avoid naming conflicts with other packages
import(stats)
importFrom("graphics", "lines", "par", "plot", "points")

# register S3 methods
S3method("[", bounds)
S3method(print, dfilter)
S3method(jumpint, stepfit)
S3method(points, jumpint)
S3method(confband, stepfit)
S3method(lines, confband)
S3method("[", stepblock)
S3method(print, stepblock)
S3method(plot, stepblock)
S3method(lines, stepblock)
S3method(stepbound, default)
S3method(stepbound, stepcand)
S3method("[", stepfit)
S3method(print, stepfit)
S3method(plot, stepfit)
S3method(lines, stepfit)
S3method(fitted, stepfit)
S3method(residuals, stepfit)
S3method(logLik, stepfit)
S3method(steppath, default)
S3method(steppath, stepcand)
S3method("[[", steppath)
S3method(length, steppath)
S3method(print, steppath)
S3method(logLik, steppath)
