import { Token, Pool, Route, Trade } from '../entities';
import { CurrencyAmount } from '../entities/fractions';
import { TradeType } from '../internalConstants';
/**
 * WASM-accelerated trade calculator
 */
export declare class WASMTradeCalculator {
    private initialized;
    private poolsMap;
    /**
     * Initialize with pools including full swap data
     */
    initializeWithPools(pools: Pool[]): Promise<void>;
    /**
     * Calculate trade output for a single route (WASM-accelerated)
     */
    calculateTradeOutput(route: Route<Token, Token>, amountIn: CurrencyAmount<Token>): {
        amountOut: CurrencyAmount<Token>;
        priceImpact: number;
    };
    /**
     * Batch calculate trades for multiple routes and amounts
     */
    calculateTradesBatch(routes: Route<Token, Token>[], amounts: CurrencyAmount<Token>[]): Array<{
        route: Route<Token, Token>;
        amountIn: CurrencyAmount<Token>;
        amountOut: CurrencyAmount<Token>;
        priceImpact: number;
    } | null>;
    /**
     * Clear all pools from memory
     */
    clear(): void;
}
/**
 * Create a WASM-accelerated Trade from a route
 */
export declare function createTradeFromRouteWASM(route: Route<Token, Token>, amount: CurrencyAmount<Token>, tradeType: TradeType, pools: Pool[]): Promise<Trade<Token, Token, TradeType>>;
/**
 * Find best trade with split using WASM acceleration
 */
export declare function bestTradeWithSplitWASM(routes: Route<Token, Token>[], amount: CurrencyAmount<Token>, percents: number[], tradeType: TradeType, pools: Pool[], swapConfig?: {
    minSplits: number;
    maxSplits: number;
}): Promise<Trade<Token, Token, TradeType> | null>;
