
importFrom("cli", 
           "cli_abort", "cli_bullets", "cli_div", "cli_end", 
           "cli_fmt", "cli_rule", "cli_text", 
           "col_grey", "col_green", "col_red", "col_yellow" )
importFrom("later", "later", "run_now")
importFrom("magrittr", "%>%", "%<>%")
importFrom("parallelly", "availableCores")
importFrom("promises", 
           "%...>%", "%...T>%", "as.promise", "promise", "promise_all", "promise_map", 
           "promise_race", "promise_reduce", "promise_resolve", "then" )
importFrom("R6", "R6Class")
importFrom("ps", "ps_children", "ps_find_tree", "ps_handle", "ps_is_running", "ps_kill", "ps_wait")
importFrom("rlang", 
           "%||%", "abort", "as_environment", "as_function", "caller_env", "caller_fn", 
           "catch_cnd", "cnd", "cnd_signal", "dots_list", "env_get", "env_has", 
           "env_name", "error_cnd", "is_character", "is_condition", 
           "is_formula", "is_false", "is_function", "is_list", "is_named", 
           "is_named2", "is_null", "is_na", "is_primitive", "is_true", "is_scalar_character", 
           "is_scalar_integerish", "is_scalar_logical", "is_string", "new_environment",
           "new_weakref", "set_names", "trace_back", "wref_key" )
importFrom("interprocess", "mutex", "semaphore")
importFrom("utils", "capture.output")

export(`jobqueue`)
export(`job_class`)
export(`jobqueue_class`)
export(`worker_class`)

export(`availableCores`)

export(`later`)
export(`run_now`)

export(`%>%`)
export(`%<>%`)

export(`%...>%`)
export(`%...T>%`)
export(`as.promise`)
export(`promise_all`)
export(`promise_race`)
export(`promise_map`)
export(`promise_reduce`)
export(`then`)

S3method(as.promise, job)
