let VoteSettingsOuputSchema: ZodObject<
  extendShape<
    {
      proposal_token_threshold: ZodDefault<
        ZodEffects<
          ZodEffects<
            ZodUnion<
              [
                ZodString,
                ZodNumber,
                ZodBigInt,
                ZodType<BigNumber, ZodTypeDef, BigNumber>,
              ]
            >,
            BigNumber,
            string | number | bigint | BigNumber
          >,
          string,
          string | number | bigint | BigNumber
        >
      >;
      voting_delay_in_blocks: ZodDefault<ZodNumber>;
      voting_period_in_blocks: ZodDefault<ZodNumber>;
      voting_quorum_fraction: ZodDefault<ZodNumber>;
      voting_token_address: ZodUnion<
        [
          ZodType<string, ZodTypeDef, string>,
          ZodType<
            `0x${string}`,
            ZodTypeDef,
            `${string}.eth` | `${string}.cb.id`
          >,
        ]
      >;
    },
    {
      proposal_token_threshold: ZodEffects<
        ZodUnion<
          [
            ZodString,
            ZodNumber,
            ZodBigInt,
            ZodType<BigNumber, ZodTypeDef, BigNumber>,
          ]
        >,
        BigNumber,
        string | number | bigint | BigNumber
      >;
    }
  >,
  "strip",
  ZodTypeAny,
  {
    proposal_token_threshold: BigNumber;
    voting_delay_in_blocks: number;
    voting_period_in_blocks: number;
    voting_quorum_fraction: number;
    voting_token_address: string;
  },
  {
    proposal_token_threshold: string | number | bigint | BigNumber;
    voting_delay_in_blocks?: number;
    voting_period_in_blocks?: number;
    voting_quorum_fraction?: number;
    voting_token_address: string;
  }
>;