package typingsSlinky.appBuilderLib

import typingsSlinky.appBuilderLib.appBuilderLibStrings.base64
import typingsSlinky.appBuilderLib.appBuilderLibStrings.hex
import org.scalablytyped.runtime.StObject
import scala.scalajs.js
import scala.scalajs.js.`|`
import scala.scalajs.js.annotation.{JSGlobalScope, JSGlobal, JSImport, JSName, JSBracketAccess}

object hashMod {
  
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile(file: String): js.Promise[String] = js.native
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile(
    file: String,
    algorithm: js.UndefOr[scala.Nothing],
    encoding: js.UndefOr[scala.Nothing],
    options: js.Any
  ): js.Promise[String] = js.native
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile(file: String, algorithm: String): js.Promise[String] = js.native
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile(file: String, algorithm: String, encoding: js.UndefOr[scala.Nothing], options: js.Any): js.Promise[String] = js.native
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile_base64(file: String, algorithm: js.UndefOr[scala.Nothing], encoding: base64): js.Promise[String] = js.native
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile_base64(file: String, algorithm: js.UndefOr[scala.Nothing], encoding: base64, options: js.Any): js.Promise[String] = js.native
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile_base64(file: String, algorithm: String, encoding: base64): js.Promise[String] = js.native
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile_base64(file: String, algorithm: String, encoding: base64, options: js.Any): js.Promise[String] = js.native
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile_hex(file: String, algorithm: js.UndefOr[scala.Nothing], encoding: hex): js.Promise[String] = js.native
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile_hex(file: String, algorithm: js.UndefOr[scala.Nothing], encoding: hex, options: js.Any): js.Promise[String] = js.native
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile_hex(file: String, algorithm: String, encoding: hex): js.Promise[String] = js.native
  @JSImport("app-builder-lib/out/util/hash", "hashFile")
  @js.native
  def hashFile_hex(file: String, algorithm: String, encoding: hex, options: js.Any): js.Promise[String] = js.native
}
