/* tslint:disable */
/* eslint-disable */
/**
* @param {string} input
* @returns {string}
*/
export function generateUnsignedCredential(input: string): string;
/**
* @param {any} signatures
* @param {string} unsigned_info
* @param {bigint} expiry
* @returns {string}
*/
export function getDeploymentDetails(signatures: any, unsigned_info: string, expiry: bigint): string;
/**
* @param {any} signatures
* @param {string} unsigned_info
* @returns {string}
*/
export function getDeploymentInfo(signatures: any, unsigned_info: string): string;
/**
* @param {string} contract_name
* @param {string} state_bytes
* @param {string} schema
* @param {boolean | undefined} verbose_error_message
* @returns {string}
*/
export function deserializeState(contract_name: string, state_bytes: string, schema: string, verbose_error_message?: boolean): string;
/**
* @param {string} serialized
* @returns {string}
*/
export function deserializeCredentialDeployment(serialized: string): string;
/**
* @param {string} return_value_bytes
* @param {string} module_schema
* @param {string} contract_name
* @param {string} function_name
* @param {number | undefined} schema_version
* @param {boolean | undefined} verbose_error_message
* @returns {string}
*/
export function deserializeReceiveReturnValue(return_value_bytes: string, module_schema: string, contract_name: string, function_name: string, schema_version?: number, verbose_error_message?: boolean): string;
/**
* @param {string} error_bytes
* @param {string} schema
* @param {string} contract_name
* @param {string} function_name
* @param {boolean | undefined} verbose_error_message
* @returns {string}
*/
export function deserializeReceiveError(error_bytes: string, schema: string, contract_name: string, function_name: string, verbose_error_message?: boolean): string;
/**
* @param {string} error_bytes
* @param {string} schema
* @param {string} contract_name
* @param {boolean | undefined} verbose_error_message
* @returns {string}
*/
export function deserializeInitError(error_bytes: string, schema: string, contract_name: string, verbose_error_message?: boolean): string;
/**
* @param {string} parameters
* @param {string} schema
* @param {string} contract_name
* @param {string} function_name
* @param {number | undefined} schema_version
* @param {boolean | undefined} verbose_error_message
* @returns {string}
*/
export function serializeReceiveContractParameters(parameters: string, schema: string, contract_name: string, function_name: string, schema_version?: number, verbose_error_message?: boolean): string;
/**
* @param {string} parameters
* @param {string} schema
* @param {string} contract_name
* @param {number | undefined} schema_version
* @param {boolean | undefined} verbose_error_message
* @returns {string}
*/
export function serializeInitContractParameters(parameters: string, schema: string, contract_name: string, schema_version?: number, verbose_error_message?: boolean): string;
/**
* @param {string} schema
* @param {string} contract_name
* @param {string} function_name
* @param {number | undefined} schema_version
* @returns {string}
*/
export function getReceiveContractParameterSchema(schema: string, contract_name: string, function_name: string, schema_version?: number): string;
/**
* @param {string} schema
* @param {string} contract_name
* @param {number | undefined} schema_version
* @returns {string}
*/
export function getInitContractParameterSchema(schema: string, contract_name: string, schema_version?: number): string;
/**
* @param {string} value
* @param {string} schema
* @param {boolean | undefined} verbose_error_message
* @returns {string}
*/
export function serializeTypeValue(value: string, schema: string, verbose_error_message?: boolean): string;
/**
* @param {string} input
* @returns {string}
*/
export function createIdRequestV1(input: string): string;
/**
* @param {string} input
* @returns {string}
*/
export function createIdentityRecoveryRequest(input: string): string;
/**
* @param {string} raw_input
* @returns {string}
*/
export function createCredentialV1(raw_input: string): string;
/**
* @param {string} input
* @returns {string}
*/
export function createUnsignedCredentialV1(input: string): string;
/**
* @param {string} raw_input
* @returns {string}
*/
export function createIdProof(raw_input: string): string;
/**
* @param {string} seed_as_hex
* @param {string} raw_net
* @param {number} identity_provider_index
* @param {number} identity_index
* @param {number} credential_counter
* @returns {string}
*/
export function getAccountSigningKey(seed_as_hex: string, raw_net: string, identity_provider_index: number, identity_index: number, credential_counter: number): string;
/**
* @param {string} seed_as_hex
* @param {string} raw_net
* @param {number} identity_provider_index
* @param {number} identity_index
* @param {number} credential_counter
* @returns {string}
*/
export function getAccountPublicKey(seed_as_hex: string, raw_net: string, identity_provider_index: number, identity_index: number, credential_counter: number): string;
/**
* @param {string} seed_as_hex
* @param {string} raw_net
* @param {number} identity_provider_index
* @param {number} identity_index
* @param {number} credential_counter
* @param {string} raw_on_chain_commitment_key
* @returns {string}
*/
export function getCredentialId(seed_as_hex: string, raw_net: string, identity_provider_index: number, identity_index: number, credential_counter: number, raw_on_chain_commitment_key: string): string;
/**
* @param {string} seed_as_hex
* @param {string} raw_net
* @param {number} identity_provider_index
* @param {number} identity_index
* @returns {string}
*/
export function getPrfKey(seed_as_hex: string, raw_net: string, identity_provider_index: number, identity_index: number): string;
/**
* @param {string} seed_as_hex
* @param {string} raw_net
* @param {number} identity_provider_index
* @param {number} identity_index
* @returns {string}
*/
export function getIdCredSec(seed_as_hex: string, raw_net: string, identity_provider_index: number, identity_index: number): string;
/**
* @param {string} seed_as_hex
* @param {string} raw_net
* @param {number} identity_provider_index
* @param {number} identity_index
* @returns {string}
*/
export function getSignatureBlindingRandomness(seed_as_hex: string, raw_net: string, identity_provider_index: number, identity_index: number): string;
/**
* @param {string} seed_as_hex
* @param {string} raw_net
* @param {number} identity_provider_index
* @param {number} identity_index
* @param {number} credential_counter
* @param {number} attribute
* @returns {string}
*/
export function getAttributeCommitmentRandomness(seed_as_hex: string, raw_net: string, identity_provider_index: number, identity_index: number, credential_counter: number, attribute: number): string;
/**
* @param {string} seed_as_hex
* @param {string} raw_net
* @param {bigint} issuer_index
* @param {bigint} issuer_subindex
* @param {number} verifiable_credential_index
* @returns {string}
*/
export function getVerifiableCredentialSigningKey(seed_as_hex: string, raw_net: string, issuer_index: bigint, issuer_subindex: bigint, verifiable_credential_index: number): string;
/**
* @param {string} seed_as_hex
* @param {string} raw_net
* @param {bigint} issuer_index
* @param {bigint} issuer_subindex
* @param {number} verifiable_credential_index
* @returns {string}
*/
export function getVerifiableCredentialPublicKey(seed_as_hex: string, raw_net: string, issuer_index: bigint, issuer_subindex: bigint, verifiable_credential_index: number): string;
/**
* @param {string} seed_as_hex
* @param {string} raw_net
* @returns {string}
*/
export function getVerifiableCredentialBackupEncryptionKey(seed_as_hex: string, raw_net: string): string;
/**
* @param {any} signatures
* @param {string} unsigned_info
* @returns {Uint8Array}
*/
export function serializeCredentialDeploymentPayload(signatures: any, unsigned_info: string): Uint8Array;
/**
* @param {string} sender
* @returns {string}
*/
export function generateBakerKeys(sender: string): string;
/**
* @param {string} serialized_value
* @param {string} schema
* @param {boolean | undefined} verbose_error_message
* @returns {string}
*/
export function deserializeTypeValue(serialized_value: string, schema: string, verbose_error_message?: boolean): string;
/**
* @param {string} schema
* @returns {string}
*/
export function displayTypeSchemaTemplate(schema: string): string;
/**
* @param {string} raw_input
* @returns {string}
*/
export function createWeb3IdProof(raw_input: string): string;
/**
* @param {string} raw_input
* @returns {boolean}
*/
export function verifyWeb3IdCredentialSignature(raw_input: string): boolean;
/**
* @param {string} attribute1
* @param {string} attribute2
* @returns {number}
*/
export function compareStringAttributes(attribute1: string, attribute2: string): number;

export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;

export interface InitOutput {
  readonly memory: WebAssembly.Memory;
  readonly generateUnsignedCredential: (a: number, b: number, c: number) => void;
  readonly getDeploymentDetails: (a: number, b: number, c: number, d: number, e: number) => void;
  readonly getDeploymentInfo: (a: number, b: number, c: number, d: number) => void;
  readonly deserializeState: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
  readonly deserializeCredentialDeployment: (a: number, b: number, c: number) => void;
  readonly deserializeReceiveReturnValue: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
  readonly deserializeReceiveError: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
  readonly deserializeInitError: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
  readonly serializeReceiveContractParameters: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
  readonly serializeInitContractParameters: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
  readonly getReceiveContractParameterSchema: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
  readonly getInitContractParameterSchema: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
  readonly serializeTypeValue: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
  readonly createIdRequestV1: (a: number, b: number, c: number) => void;
  readonly createIdentityRecoveryRequest: (a: number, b: number, c: number) => void;
  readonly createCredentialV1: (a: number, b: number, c: number) => void;
  readonly createUnsignedCredentialV1: (a: number, b: number, c: number) => void;
  readonly createIdProof: (a: number, b: number, c: number) => void;
  readonly getAccountSigningKey: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
  readonly getAccountPublicKey: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
  readonly getCredentialId: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
  readonly getPrfKey: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
  readonly getIdCredSec: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
  readonly getSignatureBlindingRandomness: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
  readonly getAttributeCommitmentRandomness: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
  readonly getVerifiableCredentialSigningKey: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
  readonly getVerifiableCredentialPublicKey: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
  readonly getVerifiableCredentialBackupEncryptionKey: (a: number, b: number, c: number, d: number, e: number) => void;
  readonly serializeCredentialDeploymentPayload: (a: number, b: number, c: number, d: number) => void;
  readonly generateBakerKeys: (a: number, b: number, c: number) => void;
  readonly deserializeTypeValue: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
  readonly displayTypeSchemaTemplate: (a: number, b: number, c: number) => void;
  readonly createWeb3IdProof: (a: number, b: number, c: number) => void;
  readonly verifyWeb3IdCredentialSignature: (a: number, b: number, c: number) => void;
  readonly compareStringAttributes: (a: number, b: number, c: number, d: number) => number;
  readonly __wbindgen_malloc: (a: number, b: number) => number;
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
  readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
  readonly __wbindgen_free: (a: number, b: number, c: number) => void;
  readonly __wbindgen_exn_store: (a: number) => void;
}

export type SyncInitInput = BufferSource | WebAssembly.Module;
/**
* Instantiates the given `module`, which can either be bytes or
* a precompiled `WebAssembly.Module`.
*
* @param {SyncInitInput} module
*
* @returns {InitOutput}
*/
export function initSync(module: SyncInitInput): InitOutput;

/**
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
* for everything else, calls `WebAssembly.instantiate` directly.
*
* @param {InitInput | Promise<InitInput>} module_or_path
*
* @returns {Promise<InitOutput>}
*/
export default function __wbg_init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;
