/** * Fees Types * * Types for fees operations including fee simulation. */ import type { BaseAPI } from "../api/index"; import type { SimulateFeeParams, SimulateFeeResponse } from "./responses"; /** * Fees API interface. * Provides methods for simulating and calculating trading fees. */ export interface FeesAPI extends BaseAPI { /** * Simulate fees for an order before placing it. * Returns exact fees for that specific order. * * @param params - Parameters for fee simulation * @param params.trading_pair_id - Trading pair ID * @param params.side - Order side ("BUY" or "SELL") * @param params.price - Price per unit * @param params.quantity - Quantity to trade * @returns Promise resolving to fee simulation details * * @example * ```typescript * const feeDetails = await feesAPI.simulateFees({ * trading_pair_id: "123e4567-e89b-12d3-a456-426614174000", * side: "BUY", * price: "40000.00", * quantity: "0.5" * }); * console.log(`Total taker fees: ${feeDetails.total_taker_fees}`); * console.log(`Taker must pay: ${feeDetails.taker_total_payment}`); * ``` */ simulateFees(params: SimulateFeeParams): Promise; } export type { SimulateFeeParams, SimulateFeeResponse } from "./responses"; export { SimulateFeeParamsSchema, SimulateFeeResponseSchema } from "./responses";