import(cluster,pls)

export(dblm) 
export(dblm.formula) 
export(dblm.dist)
export(dblm.D2)
export(dblm.Gram)

export(dbglm)
export(dbglm.formula)
export(dbglm.dist)
export(dbglm.D2)
export(dbglm.Gram)

export(ldblm)
export(ldblm.formula)
export(ldblm.dist)
export(ldblm.D2)
export(ldblm.Gram)

export(ldbglm)
export(ldbglm.formula)
export(ldbglm.dist)
export(ldbglm.D2)
export(ldbglm.Gram)

export(dbplsr)
export(dbplsr.formula)
export(dbplsr.dist)
export(dbplsr.D2)
export(dbplsr.Gram)

export(disttoD2)
export(D2toDist)
export(D2toG)
export(GtoD2)
export(as.D2)
export(is.D2)
export(as.Gram)
export(is.Gram)


S3method(plot,dblm)
S3method(plot,dbplsr)
S3method(plot,ldblm)

S3method(print,dblm)
S3method(print,ldblm)
S3method(print,dbglm)
S3method(print,dbplsr)


S3method(summary,dbglm)
S3method(print,summary.dbglm)
S3method(summary,dblm)
S3method(print,summary.dblm)
S3method(summary,ldblm)
S3method(print,summary.ldblm)
S3method(summary,ldbglm)
S3method(print,summary.ldbglm)
S3method(summary,dbplsr)
S3method(print,summary.dbplsr)


S3method(predict,dblm)
S3method(predict,dbglm)
S3method(predict,ldblm)
S3method(predict,ldbglm)
S3method(predict,dbplsr)
S3method(print,predict.ldblm)
S3method(print,predict.ldbglm)

S3method(dblm,formula)
S3method(dblm,dist)
S3method(dblm,D2)
S3method(dblm,Gram)

S3method(dbglm,formula)
S3method(dbglm,dist)
S3method(dbglm,D2)
S3method(dbglm,Gram)

S3method(dbplsr,formula)
S3method(dbplsr,dist)
S3method(dbplsr,D2)
S3method(dbplsr,Gram)

S3method(ldbglm,formula)
S3method(ldbglm,dist)
S3method(ldbglm,D2)
S3method(ldbglm,Gram)

S3method(ldblm,formula)
S3method(ldblm,dist)
S3method(ldblm,D2)
S3method(ldblm,Gram)

importFrom("grDevices", "devAskNewPage", "extendrange")
importFrom("graphics", "abline", "axis", "legend", "lines", "par",
             "plot", "strheight", "text")
importFrom("stats", "as.dist", "formula", "gaussian", "lowess",
             "model.matrix", "model.response", "optimise", "predict",
             "qqline", "qqnorm", "quantile")
