importFrom("grDevices", colorRampPalette, dev.new, dev.off, png, rainbow)
importFrom("graphics", Axis, abline, axis, boxplot, grid, hist, legend, lines, mtext, par, plot)
importFrom("methods", "is")
importFrom("stats", approxfun, cor, fivenum, lm, median, quantile, rnorm, runif, time, window)
importFrom("utils", read.table, write.table, installed.packages, ls.str, modifyList, sessionInfo, setTxtProgressBar, txtProgressBar)

importFrom("Hmisc", wtd.quantile, wtd.Ecdf)
importFrom("sp", coordinates, spplot)
importFrom("lattice", xyplot, axis.default)
importFrom("zoo", is.zoo, zoo, coredata, read.zoo, write.zoo)
importFrom("lhs", randomLHS)
importFrom("parallel", detectCores, makeForkCluster, makeCluster, clusterCall, clusterExport, mclapply, parRapply, clusterApply, stopCluster)
import(grid)
importFrom("hydroTSM", hydroplot, hydropairs, dip, mip, yip, vector2zoo)
importFrom("vioplot", vioplot)
importFrom("hydroGOF", ggof)
importFrom("scatterplot3d", scatterplot3d)
importFrom("data.table", fread)
#exportPattern("^[^\\.]")
export(hydroPSO,
       lhoat,
       params2ecdf,
       params2ecdf.default,
       params2ecdf.matrix,
       params2ecdf.data.frame,
       quant2ecdf,
       quant2ecdf.default,
       quant2ecdf.matrix,
       quant2ecdf.data.frame,
       plot_ParamsPerIter,
       plot_ParamsPerIter.matrix,
       plot_ParamsPerIter.data.frame,
       hydromod,
       plot_2parOF,
       plot_NparOF,
       plot_out,
       plot_params,
       plot_params.default,
       plot_params.matrix,
       plot_params.data.frame,
       plot_particles,
       plot_GofPerParticle,
       plot_convergence,
       plot_results,
       read_params,
       read_params.default,
       read_best,
       read_particles,
       read_GofPerParticle,
       read_velocities, 
       read_out,      
       read_convergence,
       read_results,
       verification,
       wquantile,
       ackley,
       griewank,
       rastrigrin, # wrong name, only used for backward compatibility
       rastrigin,
       rosenbrock,
       schafferF6,
       schwefel,
       sphere,
       sackley,
       sgriewank,
       srastrigin,
       srosenbrock,       
       sschwefel1_2,
       ssphere,
       hydroPSO2pest,
       pest2hydroPSO,
       read.ParameterRanges,
       rLHS      
      )

S3method(read_params, default)

S3method(params2ecdf, default)      
S3method(params2ecdf, matrix)
S3method(params2ecdf, data.frame)

S3method(plot_params, default)
S3method(plot_params, matrix)
S3method(plot_params, data.frame)

S3method(quant2ecdf, default)      
S3method(quant2ecdf, matrix)
S3method(quant2ecdf, data.frame)

S3method(plot_ParamsPerIter, matrix)
S3method(plot_ParamsPerIter, data.frame)

