export(lowerbound)
export(lowerbound_tube)

export(dtw2vec)
export(dtw2vec_univ)
export(dtw2vec_multiv)

export(idtw2vec)
export(idtw2vec_univ)
export(idtw2vec_multiv)

export(cm)
export(dtw)
export(rundtw)
export(find_peaks)
export(dtw_partial)
export(idtw)
export(dec_dm)

export(norm)
export(scale)
export(dtw_dismat)
export(dtw_disvec)
export(DBA)
export(dba)
export(centroid)
export(simulate_timewarp)
export(insert_const)
export(insert_linear_interp)
export(insert_norm)
export(insert_linear_norm)

importFrom(stats, approx)
importFrom(Rcpp, evalCpp)
importFrom(scales, pretty_breaks)
importFrom(graphics, lines, plot)
importFrom(stats, C, rnorm, dist, sd)
importFrom(utils, tail)
import(data.table)
importFrom(parallel, detectCores, makeCluster, clusterExport, parSapply, stopCluster)
importFrom(ggplot2, ggplot, geom_blank, theme_minimal, geom_line, geom_point, geom_text, element_line, aes, aes_string, xlab, scale_x_continuous, scale_y_continuous, theme, element_blank, ylab, coord_flip, guides, guide_legend, geom_ribbon, facet_grid, scale_color_manual)
importFrom(RcppParallel, RcppParallelLibs)

useDynLib(IncDTW, .registration = TRUE)


export(initialize_plane)
export(increment)
export(decrement)
export(reverse)
export(refresh)
S3method(increment, planedtw)
S3method(decrement, planedtw)
S3method(refresh,   planedtw)
S3method(reverse,   planedtw)
S3method(print,     planedtw)
S3method(plot,      planedtw)
export(is.planedtw)
export(plot_planedtw)

S3method(summary, rundtw)
S3method(print  , rundtw)
S3method(plot   , rundtw)
export(is.rundtw)
export(plot_rundtw)


S3method(summary, idtw)
S3method(print  , idtw)
S3method(plot   , idtw)
export(is.idtw)
export(plot_idtw)
export(plotQC)
export(plotWarp)

S3method(summary, dba)
S3method(print  , dba)
S3method(plot   , dba)
export(is.dba)
export(plot_dba)
export(plotBary)
export(plotM2m)
export(plotM2lot)