// TypeScript bindings for emscripten-generated code.  Automatically generated at compile time.
declare namespace RuntimeExports {
    /**
     * @param {string|null=} returnType
     * @param {Array=} argTypes
     * @param {Array=} args
     * @param {Object=} opts
     */
    function ccall(ident: any, returnType?: (string | null) | undefined, argTypes?: any[] | undefined, args?: any[] | undefined, opts?: Object | undefined): any;
    /**
     * @param {string=} returnType
     * @param {Array=} argTypes
     * @param {Object=} opts
     */
    function cwrap(ident: any, returnType?: string | undefined, argTypes?: any[] | undefined, opts?: Object | undefined): any;
    /**
     * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
     * emscripten HEAP, returns a copy of that string as a Javascript String object.
     *
     * @param {number} ptr
     * @param {number=} maxBytesToRead - An optional length that specifies the
     *   maximum number of bytes to read. You can omit this parameter to scan the
     *   string until the first 0 byte. If maxBytesToRead is passed, and the string
     *   at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
     *   string will cut short at that byte index.
     * @param {boolean=} ignoreNul - If true, the function will not stop on a NUL character.
     * @return {string}
     */
    function UTF8ToString(ptr: number, maxBytesToRead?: number | undefined, ignoreNul?: boolean | undefined): string;
    let HEAPU8: Uint8Array;
}
interface WasmModule {
  _yescrypt_kdf_full(_0: number, _1: number, _2: number, _3: number, _4: number, _5: BigInt, _6: number, _7: number, _8: number, _9: number, _10: number, _11: number): number;
  _scrypt_kdf_wasm(_0: number, _1: number, _2: number, _3: number, _4: BigInt, _5: number, _6: number, _7: number): number;
  _malloc(_0: number): number;
  _yescrypt_kdf_wasm(_0: number, _1: number, _2: number, _3: number, _4: BigInt, _5: number, _6: number, _7: number): number;
  _scrypt_hash(_0: number, _1: number, _2: number, _3: number, _4: BigInt, _5: number, _6: number, _7: number): number;
  _scrypt_hash_full(_0: number, _1: number, _2: number, _3: number, _4: number, _5: BigInt, _6: number, _7: number, _8: number, _9: number): number;
  _free(_0: number): void;
  _yescrypt_hash(_0: number, _1: number, _2: number, _3: number, _4: BigInt, _5: number, _6: number, _7: number): number;
  _yescrypt_hash_full_str(_0: number, _1: number, _2: number, _3: number, _4: number, _5: BigInt, _6: number, _7: number, _8: number, _9: number): number;
}

export type MainModule = WasmModule & typeof RuntimeExports;
export default function MainModuleFactory (options?: unknown): Promise<MainModule>;
