useDynLib(rEMM)

import(methods)

importFrom(clusterGeneration, genPositiveDefMat)
importFrom(MASS, mvrnorm)
importFrom(igraph, graph.adjacency)

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
)

