useDynLib(cluster)

## S3 Generics:
export(clusplot, pltree, silhouette, volume)
## Normal functions (non-generics, non-methods):
## The original constructors:
export(agnes, clara, daisy, diana, fanny, mona, pam)
## and the rest
export(bannerplot, ellipsoidhull, ellipsoidPoints,
       lower.to.upper.tri.inds, upper.to.lower.tri.inds,
       meanabsdev, sizeDiss, sortSilhouette)

## Methods also useful as 'standalone functions':
export(predict.ellipsoid)
export(coef.hclust)

## things from (ex-)mva -- not really needed..
#importFrom(stats, as.hclust, as.dist, as.dendrogram, cutree)
importFrom(stats, as.hclust, as.dendrogram)

importFrom(graphics, plot)
importFrom(grDevices, dev.interactive)

###---- Methods ---- all documented but not exported

## of own generics
S3method(clusplot, default)
S3method(clusplot, partition)
S3method(pltree, twins)
S3method(silhouette, default)
S3method(silhouette, clara)
S3method(silhouette, partition)
S3method(volume, ellipsoid)

## register all the method for generics elsewhere in case namespace is
## loaded but not currently attached.
S3method(as.dendrogram, agnes)
S3method(coef, hclust)
S3method(coef, twins)

S3method(plot, agnes)
S3method(plot, diana)
S3method(plot, mona)
S3method(plot, partition)
S3method(plot, silhouette)

#exported: S3method(predict, ellipsoid)

S3method(print, agnes)
S3method(print, clara)
S3method(print, diana)
S3method(print, dissimilarity)
S3method(print, ellipsoid)
S3method(print, fanny)
S3method(print, mona)
S3method(print, pam)
S3method(print, summary.agnes)
S3method(print, summary.clara)
S3method(print, summary.diana)
S3method(print, summary.dissimilarity)
S3method(print, summary.fanny)
S3method(print, summary.mona)
S3method(print, summary.pam)
S3method(print, summary.silhouette)

S3method(summary, agnes)
S3method(summary, clara)
S3method(summary, diana)
S3method(summary, dissimilarity)
S3method(summary, fanny)
S3method(summary, mona)
S3method(summary, pam)
S3method(summary, silhouette)
