import { AxiosInstance } from 'axios';
import type { ShareToken, TransferOrder, CreateOrderRequest, OrderBook, GetOrdersParams, WhitelistStatus, SwapOrder, SwapDataResponse, SubmitSignatureRequest, GetSwapDataParams, CreateOrderMessageResponse, CancelOrderMessageResponse, SignedCreateOrderRequest, SignedCancelOrderRequest, WalletTokenBalancesResponse, MarketData, PaginatedResponse, OrderModificationRequest, OrderModificationMessageResponse, SignedOrderModificationRequest, OrderModificationResponse, OrderModificationHistoryResponse, ShareTokenTransferPrepareRequest, ShareTokenTransferPrepareResponse, ShareTokenTransferBroadcastResponse, ApprovalStatusResponse, ApprovalDataResponse } from '@cranberry-money/shared-types';
export declare const getShareTokens: (apiClient: AxiosInstance) => Promise<import("axios").AxiosResponse<PaginatedResponse<ShareToken>, any, {}>>;
export declare const getShareToken: (apiClient: AxiosInstance, uuid: string) => Promise<import("axios").AxiosResponse<ShareToken, any, {}>>;
export declare const getOrderBook: (apiClient: AxiosInstance, tokenUuid: string) => Promise<import("axios").AxiosResponse<OrderBook, any, {}>>;
export declare const getMarketData: (apiClient: AxiosInstance, tokenUuid: string) => Promise<import("axios").AxiosResponse<MarketData, any, {}>>;
export declare const getOrders: (apiClient: AxiosInstance, params?: GetOrdersParams) => Promise<import("axios").AxiosResponse<PaginatedResponse<TransferOrder>, any, {}>>;
export declare const getOrder: (apiClient: AxiosInstance, uuid: string) => Promise<import("axios").AxiosResponse<TransferOrder, any, {}>>;
export declare const getOpenOrders: (apiClient: AxiosInstance, tokenUuid: string) => Promise<import("axios").AxiosResponse<PaginatedResponse<TransferOrder>, any, {}>>;
export declare const getUserOrders: (apiClient: AxiosInstance, walletAddress: string) => Promise<import("axios").AxiosResponse<PaginatedResponse<TransferOrder>, any, {}>>;
export declare const getOrderCreateMessage: (apiClient: AxiosInstance, data: CreateOrderRequest) => Promise<import("axios").AxiosResponse<CreateOrderMessageResponse, any, {}>>;
export declare const getOrderCancelMessage: (apiClient: AxiosInstance, uuid: string) => Promise<import("axios").AxiosResponse<CancelOrderMessageResponse, any, {}>>;
export declare const createOrder: (apiClient: AxiosInstance, data: SignedCreateOrderRequest) => Promise<import("axios").AxiosResponse<TransferOrder, any, {}>>;
export declare const cancelOrder: (apiClient: AxiosInstance, uuid: string, data: SignedCancelOrderRequest) => Promise<import("axios").AxiosResponse<TransferOrder, any, {}>>;
export declare const getWalletBalances: (apiClient: AxiosInstance, walletAddress: string) => Promise<import("axios").AxiosResponse<WalletTokenBalancesResponse, any, {}>>;
/**
 * Prepare a direct share token transfer.
 * Returns unsigned transaction data for signing.
 */
export declare const prepareShareTokenTransfer: (apiClient: AxiosInstance, data: ShareTokenTransferPrepareRequest) => Promise<import("axios").AxiosResponse<ShareTokenTransferPrepareResponse, any, {}>>;
/**
 * Broadcast a signed share token transfer transaction.
 */
export declare const broadcastShareTokenTransfer: (apiClient: AxiosInstance, signedTx: string) => Promise<import("axios").AxiosResponse<ShareTokenTransferBroadcastResponse, any, {}>>;
export declare const getWhitelistStatus: (apiClient: AxiosInstance, walletAddress: string) => Promise<import("axios").AxiosResponse<WhitelistStatus, any, {}>>;
export declare const getSwapOrders: (apiClient: AxiosInstance, walletAddress: string) => Promise<import("axios").AxiosResponse<PaginatedResponse<SwapOrder>, any, {}>>;
export declare const getOrderSwapData: (apiClient: AxiosInstance, orderUuid: string, params: GetSwapDataParams) => Promise<import("axios").AxiosResponse<SwapDataResponse, any, {}>>;
export declare const submitOrderSwapSignature: (apiClient: AxiosInstance, orderUuid: string, data: SubmitSignatureRequest) => Promise<import("axios").AxiosResponse<SwapOrder, any, {}>>;
export declare const getOrderSwapApprovalStatus: (apiClient: AxiosInstance, orderUuid: string, walletAddress: string) => Promise<import("axios").AxiosResponse<ApprovalStatusResponse, any, {}>>;
export declare const getOrderSwapApprovalData: (apiClient: AxiosInstance, orderUuid: string, walletAddress: string) => Promise<import("axios").AxiosResponse<ApprovalDataResponse, any, {}>>;
/**
 * Get a modification message for signing.
 * This is step 1 of the two-step modification flow.
 */
export declare const getOrderModificationMessage: (apiClient: AxiosInstance, orderUuid: string, data: OrderModificationRequest) => Promise<import("axios").AxiosResponse<OrderModificationMessageResponse, any, {}>>;
/**
 * Execute an order modification with a signed message.
 * This is step 2 of the two-step modification flow.
 */
export declare const modifyOrder: (apiClient: AxiosInstance, orderUuid: string, data: SignedOrderModificationRequest) => Promise<import("axios").AxiosResponse<OrderModificationResponse, any, {}>>;
/**
 * Get the modification history for an order.
 */
export declare const getOrderModificationHistory: (apiClient: AxiosInstance, orderUuid: string) => Promise<import("axios").AxiosResponse<OrderModificationHistoryResponse, any, {}>>;
export declare function parseArcaError(error: unknown): string;
//# sourceMappingURL=trading.d.ts.map