import { StructuredTool } from "langchain/tools";
import { SeiAgentKit } from "../../agent";
import { PlaceOrderReturnType } from "../../../node_modules/citrex-sdk/lib/types.js";
import { OrderType, TimeInForce } from "../../../node_modules/citrex-sdk/lib/enums.js";
import { z } from "zod";
declare const CitrexPlaceOrdersInputSchema: z.ZodObject<{
    orders: z.ZodArray<z.ZodObject<{
        isBuy: z.ZodBoolean;
        price: z.ZodNumber;
        productId: z.ZodNumber;
        quantity: z.ZodNumber;
        orderType: z.ZodOptional<z.ZodNativeEnum<typeof OrderType>>;
        timeInForce: z.ZodOptional<z.ZodNativeEnum<typeof TimeInForce>>;
        expiration: z.ZodOptional<z.ZodNumber>;
        nonce: z.ZodOptional<z.ZodNumber>;
        priceIncrement: z.ZodOptional<z.ZodNumber>;
        slippage: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        isBuy: boolean;
        price: number;
        productId: number;
        quantity: number;
        nonce?: number | undefined;
        expiration?: number | undefined;
        orderType?: OrderType | undefined;
        timeInForce?: TimeInForce | undefined;
        priceIncrement?: number | undefined;
        slippage?: number | undefined;
    }, {
        isBuy: boolean;
        price: number;
        productId: number;
        quantity: number;
        nonce?: number | undefined;
        expiration?: number | undefined;
        orderType?: OrderType | undefined;
        timeInForce?: TimeInForce | undefined;
        priceIncrement?: number | undefined;
        slippage?: number | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    orders: {
        isBuy: boolean;
        price: number;
        productId: number;
        quantity: number;
        nonce?: number | undefined;
        expiration?: number | undefined;
        orderType?: OrderType | undefined;
        timeInForce?: TimeInForce | undefined;
        priceIncrement?: number | undefined;
        slippage?: number | undefined;
    }[];
}, {
    orders: {
        isBuy: boolean;
        price: number;
        productId: number;
        quantity: number;
        nonce?: number | undefined;
        expiration?: number | undefined;
        orderType?: OrderType | undefined;
        timeInForce?: TimeInForce | undefined;
        priceIncrement?: number | undefined;
        slippage?: number | undefined;
    }[];
}>;
export declare class SeiCitrexPlaceOrdersTool extends StructuredTool<typeof CitrexPlaceOrdersInputSchema> {
    private readonly seiKit;
    name: string;
    description: string;
    schema: z.ZodObject<{
        orders: z.ZodArray<z.ZodObject<{
            isBuy: z.ZodBoolean;
            price: z.ZodNumber;
            productId: z.ZodNumber;
            quantity: z.ZodNumber;
            orderType: z.ZodOptional<z.ZodNativeEnum<typeof OrderType>>;
            timeInForce: z.ZodOptional<z.ZodNativeEnum<typeof TimeInForce>>;
            expiration: z.ZodOptional<z.ZodNumber>;
            nonce: z.ZodOptional<z.ZodNumber>;
            priceIncrement: z.ZodOptional<z.ZodNumber>;
            slippage: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            isBuy: boolean;
            price: number;
            productId: number;
            quantity: number;
            nonce?: number | undefined;
            expiration?: number | undefined;
            orderType?: OrderType | undefined;
            timeInForce?: TimeInForce | undefined;
            priceIncrement?: number | undefined;
            slippage?: number | undefined;
        }, {
            isBuy: boolean;
            price: number;
            productId: number;
            quantity: number;
            nonce?: number | undefined;
            expiration?: number | undefined;
            orderType?: OrderType | undefined;
            timeInForce?: TimeInForce | undefined;
            priceIncrement?: number | undefined;
            slippage?: number | undefined;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        orders: {
            isBuy: boolean;
            price: number;
            productId: number;
            quantity: number;
            nonce?: number | undefined;
            expiration?: number | undefined;
            orderType?: OrderType | undefined;
            timeInForce?: TimeInForce | undefined;
            priceIncrement?: number | undefined;
            slippage?: number | undefined;
        }[];
    }, {
        orders: {
            isBuy: boolean;
            price: number;
            productId: number;
            quantity: number;
            nonce?: number | undefined;
            expiration?: number | undefined;
            orderType?: OrderType | undefined;
            timeInForce?: TimeInForce | undefined;
            priceIncrement?: number | undefined;
            slippage?: number | undefined;
        }[];
    }>;
    constructor(seiKit: SeiAgentKit);
    _call(input: z.infer<typeof CitrexPlaceOrdersInputSchema>): Promise<PlaceOrderReturnType[] | undefined>;
}
export {};
//# sourceMappingURL=placeOrders.d.ts.map