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 CwFundDistributorQueryClient {
  constructor(client, contractAddress) {
    _defineProperty(this, "client", void 0);
    _defineProperty(this, "contractAddress", void 0);
    _defineProperty(this, "stakingContract", async () => {
      return this.client.queryContractSmart(this.contractAddress, {
        staking_contract: {}
      });
    });
    _defineProperty(this, "activeThreshold", async () => {
      return this.client.queryContractSmart(this.contractAddress, {
        active_threshold: {}
      });
    });
    _defineProperty(this, "votingPowerAtHeight", async ({
      address,
      height
    }) => {
      return this.client.queryContractSmart(this.contractAddress, {
        voting_power_at_height: {
          address,
          height
        }
      });
    });
    _defineProperty(this, "totalPowerAtHeight", async ({
      height
    }) => {
      return this.client.queryContractSmart(this.contractAddress, {
        total_power_at_height: {
          height
        }
      });
    });
    _defineProperty(this, "dao", async () => {
      return this.client.queryContractSmart(this.contractAddress, {
        dao: {}
      });
    });
    _defineProperty(this, "info", async () => {
      return this.client.queryContractSmart(this.contractAddress, {
        info: {}
      });
    });
    _defineProperty(this, "tokenContract", async () => {
      return this.client.queryContractSmart(this.contractAddress, {
        token_contract: {}
      });
    });
    _defineProperty(this, "isActive", async () => {
      return this.client.queryContractSmart(this.contractAddress, {
        is_active: {}
      });
    });
    this.client = client;
    this.contractAddress = contractAddress;
    this.stakingContract = this.stakingContract.bind(this);
    this.activeThreshold = this.activeThreshold.bind(this);
    this.votingPowerAtHeight = this.votingPowerAtHeight.bind(this);
    this.totalPowerAtHeight = this.totalPowerAtHeight.bind(this);
    this.dao = this.dao.bind(this);
    this.info = this.info.bind(this);
    this.tokenContract = this.tokenContract.bind(this);
    this.isActive = this.isActive.bind(this);
  }
}
export class CwFundDistributorClient extends CwFundDistributorQueryClient {
  constructor(client, sender, contractAddress) {
    super(client, contractAddress);
    _defineProperty(this, "client", void 0);
    _defineProperty(this, "sender", void 0);
    _defineProperty(this, "contractAddress", void 0);
    _defineProperty(this, "updateActiveThreshold", async ({
      newThreshold
    }, fee = "auto", memo, funds) => {
      return await this.client.execute(this.sender, this.contractAddress, {
        update_active_threshold: {
          new_threshold: newThreshold
        }
      }, fee, memo, funds);
    });
    this.client = client;
    this.sender = sender;
    this.contractAddress = contractAddress;
    this.updateActiveThreshold = this.updateActiveThreshold.bind(this);
  }
}