ExactInParamsSchema: ZodObject<
    extendShape<
        {
            assetIn: ZodDiscriminatedUnion<
                "type",
                [
                    ZodObject<
                        { type: ZodLiteral<TON> },
                        "strip",
                        { type: TON },
                        { type: TON },
                    >,
                    ZodObject<
                        {
                            jettonMaster: ZodUnion<
                                [
                                    ZodEffects<ZodString, Address, string>,
                                    ZodType<Address, Address>,
                                ],
                            >;
                            type: ZodLiteral<JETTON>;
                        },
                        "strip",
                        { jettonMaster: Address; type: JETTON },
                        { jettonMaster: string | Address; type: JETTON },
                    >,
                    ZodObject<
                        { currencyId: ZodNumber; type: ZodLiteral<EXTRA_CURRENCY> },
                        "strip",
                        { currencyId: number; type: EXTRA_CURRENCY },
                        { currencyId: number; type: EXTRA_CURRENCY },
                    >,
                ],
            >;
            assetOut: ZodDiscriminatedUnion<
                "type",
                [
                    ZodObject<
                        { type: ZodLiteral<TON> },
                        "strip",
                        { type: TON },
                        { type: TON },
                    >,
                    ZodObject<
                        {
                            jettonMaster: ZodUnion<
                                [
                                    ZodEffects<ZodString, Address, string>,
                                    ZodType<Address, Address>,
                                ],
                            >;
                            type: ZodLiteral<JETTON>;
                        },
                        "strip",
                        { jettonMaster: Address; type: JETTON },
                        { jettonMaster: string | Address; type: JETTON },
                    >,
                    ZodObject<
                        { currencyId: ZodNumber; type: ZodLiteral<EXTRA_CURRENCY> },
                        "strip",
                        { currencyId: number; type: EXTRA_CURRENCY },
                        { currencyId: number; type: EXTRA_CURRENCY },
                    >,
                ],
            >;
            routes: ZodOptional<
                ZodArray<
                    ZodUnion<
                        [ZodEffects<ZodString, Address, string>, ZodType<Address, Address>],
                    >,
                >,
            >;
        },
        {
            amountIn: ZodUnion<
                [
                    ZodBigInt,
                    ZodEffects<ZodString, bigint, string>,
                    ZodEffects<ZodNumber, bigint, number>,
                ],
            >;
            mode: ZodLiteral<"ExactIn">;
        },
    >,
    "strip",
    {
        amountIn: bigint;
        assetIn: | { type: TON }
        | { jettonMaster: Address; type: JETTON }
        | { currencyId: number; type: EXTRA_CURRENCY };
        assetOut:
            | { type: TON }
            | { jettonMaster: Address; type: JETTON }
            | { currencyId: number; type: EXTRA_CURRENCY };
        mode: "ExactIn";
        routes?: Address[];
    },
    {
        amountIn: string
        | number
        | bigint;
        assetIn:
            | { type: TON }
            | { jettonMaster: string | Address; type: JETTON }
            | { currencyId: number; type: EXTRA_CURRENCY };
        assetOut:
            | { type: TON }
            | { jettonMaster: string | Address; type: JETTON }
            | { currencyId: number; type: EXTRA_CURRENCY };
        mode: "ExactIn";
        routes?: (string | Address)[];
    },
> = ...