import { CallerConfig, ObjectId } from "../../types";
import { Caller } from "../../general/utils/caller";
import { SuiAddress } from "../../types";
import { ApiLimitOrdersCreateOrderTransactionBody, ApiLimitOrdersCancelOrderTransactionBody, LimitOrderObject, ApiLimitOrdersActiveOrdersOwnedBody } from "./limitOrdersTypes";
import { Transaction } from "@mysten/sui/transactions";
export declare class LimitOrders extends Caller {
    static readonly constants: {
        gasAmount: bigint;
    };
    constructor(config?: CallerConfig);
    /**
     * Fetches the API for dollar cost averaging active orders list.
     * @async
     * @param { LimitOrderObject } inputs - An object containing the walletAddress.
     * @returns { Promise<LimitOrderObject[]> } A promise that resolves to object with array of fetched events for active limit orders
     */
    getActiveLimitOrders(inputs: ApiLimitOrdersActiveOrdersOwnedBody): Promise<LimitOrderObject[]>;
    /**
     * Fetches the API for limit cost finished orders list.
     * @async
     * @param { LimitOrderObject } inputs - An object containing the walletAddress.
     * @returns { Promise<LimitOrderObject[]> } A promise that resolves to object with array of fetched events for past limit orders
     */
    getPastLimitOrders(inputs: {
        walletAddress: SuiAddress;
    }): Promise<LimitOrderObject[]>;
    /**
     * Fetches the API transaction for creating Limit order.
     * @param { ApiLimitOrdersCreateOrderTransactionBody } inputs - The inputs for the transaction.
     * @returns { Promise<Transaction> } A promise that resolves with the API transaction.
     */
    getCreateLimitOrderTx(inputs: ApiLimitOrdersCreateOrderTransactionBody): Promise<Transaction>;
    /**
     * Fetches the API for canceling Limit order.
     * @param inputs - The inputs for the transaction.
     * @returns { Promise<boolean> } A promise that resolves with transaction execution status.
     */
    cancelLimitOrder(inputs: ApiLimitOrdersCancelOrderTransactionBody): Promise<boolean>;
    /**
     * Method for getting the cancellation limit order message to sign.
     * @param inputs - The inputs for the message.
     * @returns Message to sign.
     */
    cancelLimitOrdersMessageToSign(inputs: {
        orderIds: ObjectId[];
    }): {
        action: string;
        order_object_ids: string[];
    };
    /**
     * Method for getting a minimum allowable order size.
     * @returns Minimum order size in usd.
     */
    getMinOrderSizeUsd(): Promise<number | undefined>;
}
//# sourceMappingURL=limitOrders.d.ts.map