import { AxiosInstance } from 'axios';
import { ApiResponse, BrokerageCalculatorParams, BrokerageCalculatorResult, MarginCalculatorParams, MarginCalculatorResult } from '../../types';
import { Auth } from '../auth';
/**
 * Brokerage module for SmartAPI
 * Handles brokerage calculation functionality
 */
export declare class Brokerage {
    private auth;
    private httpClient;
    private debug;
    /**
     * Initialize brokerage module
     */
    constructor(auth: Auth, httpClient: AxiosInstance, debug?: boolean);
    /**
     * Log debug messages if debug mode is enabled
     */
    private log;
    /**
     * Calculate estimated brokerage charges for one or more orders
     *
     * The Brokerage Calculator API is used to calculate brokerage charges, taxes and other fees
     * that will be incurred by the user when placing trades. This allows users to estimate
     * the total transaction cost before placing an order.
     *
     * @param params Order parameters to calculate brokerage for
     * @param options Network configuration options
     * @returns Estimated brokerage charges and breakdown
     */
    calculate(params: BrokerageCalculatorParams, options?: {
        clientLocalIP?: string;
        clientPublicIP?: string;
        macAddress?: string;
    }): Promise<ApiResponse<BrokerageCalculatorResult>>;
    /**
     * Calculate margin requirements for a basket of positions
     *
     * The Margin Calculator API delivers real-time margin calculations for a basket of positions.
     * This helps in understanding the margin requirements for various trading scenarios.
     *
     * @param params Position parameters to calculate margin for
     * @param options Network configuration options
     * @returns Calculated margin requirements
     */
    calculateMargin(params: MarginCalculatorParams, options?: {
        clientLocalIP?: string;
        clientPublicIP?: string;
        macAddress?: string;
    }): Promise<ApiResponse<MarginCalculatorResult>>;
}
