importFrom("stats", "model.frame", "model.matrix", "model.response",
           "na.pass", "optimize", "var", "weighted.mean", "weights")
importFrom("graphics", "abline", "axis", "legend", "par", "points")
importFrom("methods", "is")

export(eb,
       ebalance,
       ebalance.trim,
       baltest.collect,
       getsquares,
       line.searcher,
       matrixmaker)

# S3 method registrations for the print/summary/plot/weights methods on
# ebalance and ebalance.trim objects. We intentionally do NOT make
# ebalance() itself an S3 generic: the formula vs matrix dispatch is
# handled in-function by inherits(Treatment, "formula"). This avoids a
# CRAN R CMD check NOTE that would otherwise flag the long-standing
# top-level function ebalance.trim() as an "apparent method" of a
# (would-be) generic ebalance().
S3method(print, ebalance)
S3method(print, ebalance.trim)
S3method(print, summary.ebalance)
S3method(print, summary.ebalance.trim)
S3method(summary, ebalance)
S3method(summary, ebalance.trim)
S3method(plot, ebalance)
S3method(plot, ebalance.trim)
S3method(weights, ebalance)
S3method(weights, ebalance.trim)
