import { StructuredTool } from "langchain/tools";
import { SeiAgentKit } from "../../agent";
import { TimeInForce, OrderType } from "../../../node_modules/citrex-sdk/lib/enums.js";
import { PlaceOrderReturnType } from "../../../node_modules/citrex-sdk/lib/types.js";
import { z } from "zod";
declare const CitrexPlaceOrderInputSchema: 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;
}>;
export declare class SeiCitrexPlaceOrderTool extends StructuredTool<typeof CitrexPlaceOrderInputSchema> {
    private readonly seiKit;
    name: string;
    description: string;
    schema: 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;
    }>;
    constructor(seiKit: SeiAgentKit);
    _call(input: z.infer<typeof CitrexPlaceOrderInputSchema>): Promise<PlaceOrderReturnType | undefined>;
}
export {};
//# sourceMappingURL=placeOrder.d.ts.map