use js_sys::{JsString, Promise};
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
#[derive(Copy, Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct CopyOptions {
pub recursive: Option<bool>,
pub force: Option<bool>,
}
#[wasm_bindgen]
#[derive(Copy, Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct MoveOptions {
pub force: Option<bool>,
}
#[wasm_bindgen(module = "@actions/io")]
extern {
#[wasm_bindgen]
#[must_use]
pub fn cp(source: &JsString, target: &JsString, options: Option<CopyOptions>) -> Promise;
#[wasm_bindgen]
#[must_use]
pub fn mv(source: &JsString, target: &JsString, options: Option<MoveOptions>) -> Promise;
#[wasm_bindgen(js_name = "rmRF")]
#[must_use]
pub fn rm_rf(path: &JsString) -> Promise;
#[wasm_bindgen(js_name = "mkdirP")]
#[must_use]
pub fn mkdir_p(path: &JsString) -> Promise;
#[wasm_bindgen]
#[must_use]
pub fn which(tool: &JsString, check: Option<bool>) -> Promise;
}