useDynLib(dexterMST, .registration=TRUE)

importFrom(Rcpp, 'evalCpp')
import(dexter)
import(dplyr)
importFrom(RSQLite,"SQLite")
importFrom(DBI, "dbSendQuery","dbColumnInfo","dbClearResult","dbListFields","dbConnect","dbDisconnect",
           "dbGetQuery", "dbExecute","dbBegin","dbRollback","dbCommit","dbReadTable","dbListTables")
importFrom(rlang, 'caller_env', '.data', 'eval_tidy', ':=', 'sym','env_has')
importFrom(igraph, 'graph.data.frame', 'decompose.graph', 'topological.sort', 
                    'layout.reingold.tilford', 'vcount', 'V', 'vertex_attr','simplify')
importFrom(tidyr, 'separate', 'gather')
importFrom(crayon,'red')

importFrom(graphics, "abline", "lines", "par", "plot", "points", "axis", "image")
importFrom(grDevices, "rainbow")
importFrom(methods, "is")
importFrom(stats, "rlogis", "coef", "mahalanobis", "pchisq", "runif")
importFrom(utils, "head", "modifyList", "setTxtProgressBar",
             "txtProgressBar", "combn", "globalVariables")


export(mst_rules)
export(create_mst_project)
export(open_mst_project)
export(close_mst_project)
export(add_scoring_rules_mst)
export(alter_scoring_rules_mst)
export(add_response_data_mst)
export(add_booklet_mst)
export(create_mst_test)
export(fit_inter_mst)
export(fit_enorm_mst)
export(profile_tables_mst)
export(import_from_dexter)
export(get_scoring_rules_mst)
export(get_items_mst)
export(get_persons_mst)
export(get_responses_mst)
export(get_booklets_mst)
export(get_design_mst)
export(get_routing_rules_mst)
export(sim_mst)
export(add_item_properties_mst)    
export(add_person_properties_mst) 
export(DIF_mst)
export(design_plot)

S3method(plot,im_mst)
S3method(print,im_mst)
S3method(coef,im_mst)
S3method(print,mst_enorm)
S3method(plot, DIF_stats_mst)
S3method(print, DIF_stats_mst)

# dexter re export
export(ability)
export(ability_tables)
export(plausible_values)

