let ProposalOutputSchema: ZodObject<
  {
    calldatas: ZodArray<ZodString, "many">;
    description: ZodString;
    endBlock: ZodEffects<
      ZodUnion<
        [
          ZodString,
          ZodNumber,
          ZodBigInt,
          ZodType<BigNumber, ZodTypeDef, BigNumber>,
        ]
      >,
      BigNumber,
      string | number | bigint | BigNumber
    >;
    proposalId: ZodEffects<
      ZodUnion<
        [
          ZodString,
          ZodNumber,
          ZodBigInt,
          ZodType<BigNumber, ZodTypeDef, BigNumber>,
        ]
      >,
      BigNumber,
      string | number | bigint | BigNumber
    >;
    proposer: ZodString;
    signatures: ZodArray<ZodString, "many">;
    startBlock: ZodEffects<
      ZodUnion<
        [
          ZodString,
          ZodNumber,
          ZodBigInt,
          ZodType<BigNumber, ZodTypeDef, BigNumber>,
        ]
      >,
      BigNumber,
      string | number | bigint | BigNumber
    >;
    targets: ZodArray<ZodString, "many">;
    values: ZodArray<
      ZodEffects<
        ZodUnion<
          [
            ZodString,
            ZodNumber,
            ZodBigInt,
            ZodType<BigNumber, ZodTypeDef, BigNumber>,
          ]
        >,
        BigNumber,
        string | number | bigint | BigNumber
      >,
      "many"
    >;
  },
  "strip",
  ZodTypeAny,
  {
    calldatas: Array<string>;
    description: string;
    endBlock: BigNumber;
    proposalId: BigNumber;
    proposer: string;
    signatures: Array<string>;
    startBlock: BigNumber;
    targets: Array<string>;
    values: Array<BigNumber>;
  },
  {
    calldatas: Array<string>;
    description: string;
    endBlock: string | number | bigint | BigNumber;
    proposalId: string | number | bigint | BigNumber;
    proposer: string;
    signatures: Array<string>;
    startBlock: string | number | bigint | BigNumber;
    targets: Array<string>;
    values: Array<string | number | bigint | BigNumber>;
  }
>;