useDynLib("rEMM")

import("methods")

importFrom("clusterGeneration", "genPositiveDefMat")
importFrom("MASS", "mvrnorm")
import("igraph")

##importFrom("graphics", "plot")
## Fixme: Rgraphviz has to be loaded after rEMM for plot to work!

importFrom("stats", "predict")
importFrom("proxy", "pr_DB", "pr_dist2simil")

exportClasses(EMM, TRACDS, StreamClustering, tNN)

export(
    as.igraph,
    as.graph,
    as.igraph.TRACDS,
    as.graph.TRACDS,
    EMM,
    TRAC,
    build,
    copy,
    fade,
    predict,
    score,
    size,
    prune,
    plot,
    merge_clusters,
    remove_clusters,
    
    ## tNN
    tNN,
    cluster,
    clusters,
    cluster_counts,
    cluster_centers,
    find_clusters,
    last_clustering,
    nclusters,
    rare_clusters,
    update,

    ## TRACDS
    TRACDS,
    update,
    compact,
    nstates,
    ntransitions,
    reset,
    states,
    current_state,
    transitions,
    transition,
    transition_matrix,
    transition_table,
    initial_transition,
    rare_transitions,
    remove_transitions,
    remove_selftransitions,
    smooth_transitions,

    object.size,	### S4 generic for object size in base

    recluster_hclust,
    recluster_kmeans,
    recluster_pam,
    recluster_reachability,
    recluster_tNN,
    recluster_transitions,
    
    synthetic_stream
)

S3method(as.graph, TRACDS)
S3method(as.igraph, TRACDS)
