import { RateLimiter } from '../utils/rateLimiter.js';
import { CancelOrderResponse } from '../utils/signing.js';
import { ApproveAgentRequest, ApproveBuilderFeeRequest, CancelOrderRequest, HyperliquidOrder, OrderRequest, TwapCancelRequest, TwapCancelResponse, TwapOrder, TwapOrderResponse } from '../types/index.js';
import { Hyperliquid } from '../index.js';
import { SymbolConversion } from '../utils/symbolConversion.js';
export declare class ExchangeAPI {
    private wallet;
    private httpApi;
    private symbolConversion;
    private _i;
    private parent;
    private vaultAddress;
    constructor(privateKey: string, rateLimiter: RateLimiter, symbolConversion: SymbolConversion, parent: Hyperliquid, vaultAddress?: string | null);
    private getVaultAddress;
    private getAssetIndex;
    placeOrder(orderRequest: OrderRequest): Promise<any>;
    cancelOrder(cancelRequests: CancelOrderRequest | CancelOrderRequest[]): Promise<CancelOrderResponse>;
    cancelOrderByCloid(symbol: string, cloid: string): Promise<any>;
    modifyOrder(oid: number, orderRequest: HyperliquidOrder): Promise<any>;
    batchModifyOrders(modifies: Array<{
        oid: number;
        order: HyperliquidOrder;
    }>): Promise<any>;
    updateLeverage(symbol: string, leverageMode: string, leverage: number): Promise<any>;
    updateIsolatedMargin(symbol: string, isBuy: boolean, ntli: number): Promise<any>;
    usdTransfer(destination: string, amount: number): Promise<any>;
    spotTransfer(destination: string, token: string, amount: string): Promise<any>;
    initiateWithdrawal(destination: string, amount: number): Promise<any>;
    transferBetweenSpotAndPerp(usdc: number, toPerp: boolean): Promise<any>;
    scheduleCancel(time: number | null): Promise<any>;
    vaultTransfer(vaultAddress: string, isDeposit: boolean, usd: number): Promise<any>;
    setReferrer(code?: string): Promise<any>;
    modifyUserEvm(usingBigBlocks: boolean): Promise<any>;
    placeTwapOrder(orderRequest: TwapOrder): Promise<TwapOrderResponse>;
    cancelTwapOrder(cancelRequest: TwapCancelRequest): Promise<TwapCancelResponse>;
    approveAgent(request: ApproveAgentRequest): Promise<any>;
    approveBuilderFee(request: ApproveBuilderFeeRequest): Promise<any>;
}
//# sourceMappingURL=exchange.d.ts.map