useDynLib(splines, .registration = TRUE, .fixes = "C_")

export(as.polySpline, asVector, backSpline, bs, interpSpline, ns,
       periodicSpline, polySpline, spline.des, splineDesign,
       splineKnots, splineOrder, xyVector)

# documented but not exported
# export(predict.bs, predict.bSpline, predict.nbSpline,
#        predict.npolySpline, predict.ns, predict.pbSpline,
#        predict.ppolySpline)

importFrom(graphics, plot)
importFrom(stats, as.formula, coef, makepredictcall, na.fail, predict, quantile)

S3method(as.data.frame, xyVector)
S3method(asVector, xyVector)
S3method(backSpline, nbSpline)
S3method(backSpline, npolySpline)
S3method(interpSpline, default)
S3method(interpSpline, formula)
S3method(makepredictcall, bs)
S3method(makepredictcall, ns)
S3method(periodicSpline, default)
S3method(periodicSpline, formula)
S3method(plot, spline)
S3method(plot, xyVector)
S3method(polySpline, bSpline)
S3method(polySpline, nbSpline)
S3method(polySpline, pbSpline)
S3method(polySpline, polySpline)
S3method(predict, bs)
S3method(predict, bs)
S3method(predict, bSpline)
S3method(predict, nbSpline)
S3method(predict, npolySpline)
S3method(predict, polySpline)
S3method(predict, ppolySpline)
S3method(predict, ns)
S3method(predict, pbSpline)
S3method(print, bSpline)
S3method(print, polySpline)
S3method(print, ppolySpline)
S3method(splineOrder, bSpline)
S3method(splineKnots, spline)
S3method(splineOrder, polySpline)
