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)

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

importFrom(graphics, plot)

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

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

## register all the method for generics elsewhere in case namespace is
## loaded but not currently attached.
S3method(plot, agnes)
S3method(plot, diana)
S3method(plot, mona)
S3method(plot, partition)
S3method(plot, silhouette)

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)
