import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
/**
* This file was automatically generated by @cosmwasm/ts-codegen@0.26.0.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run the @cosmwasm/ts-codegen generate command to regenerate this file.
*/

export class CwAdminFactoryQueryClient {
  constructor(client, contractAddress) {
    _defineProperty(this, "client", void 0);
    _defineProperty(this, "contractAddress", void 0);
    this.client = client;
    this.contractAddress = contractAddress;
  }
}
export class CwAdminFactoryClient extends CwAdminFactoryQueryClient {
  constructor(client, sender, contractAddress) {
    super(client, contractAddress);
    _defineProperty(this, "client", void 0);
    _defineProperty(this, "sender", void 0);
    _defineProperty(this, "contractAddress", void 0);
    _defineProperty(this, "instantiateContractWithSelfAdmin", async ({
      codeId,
      instantiateMsg,
      label
    }, fee = "auto", memo, funds) => {
      return await this.client.execute(this.sender, this.contractAddress, {
        instantiate_contract_with_self_admin: {
          code_id: codeId,
          instantiate_msg: instantiateMsg,
          label
        }
      }, fee, memo, funds);
    });
    this.client = client;
    this.sender = sender;
    this.contractAddress = contractAddress;
    this.instantiateContractWithSelfAdmin = this.instantiateContractWithSelfAdmin.bind(this);
  }
}