import { HTTPClient } from "../core/http-client";
import { SwapParams, OKXConfig, QuoteParams, QuoteData, APIResponse, SwapResult, SwapResponseData, ChainData, ApproveTokenParams } from "../types";
export declare class DexAPI {
    private readonly client;
    private readonly config;
    private readonly defaultNetworkConfigs;
    constructor(client: HTTPClient, config: OKXConfig);
    private getNetworkConfig;
    private toAPIParams;
    getQuote(params: QuoteParams): Promise<APIResponse<QuoteData>>;
    getLiquidity(chainId: string): Promise<APIResponse<QuoteData>>;
    getChainData(chainId: string): Promise<APIResponse<ChainData>>;
    getSwapData(params: SwapParams): Promise<SwapResponseData>;
    getTokens(chainId: string): Promise<APIResponse<QuoteData>>;
    executeSwap(params: SwapParams): Promise<SwapResult>;
    executeApproval(params: ApproveTokenParams): Promise<{
        transactionHash: string;
        explorerUrl: string;
    }>;
}
