import { Keypair } from "@solana/web3.js";
import { EventType, ExchangeType } from "./types/types.js";
import { TokenInfo, WalletBalance } from "./models/models.js";
import { BoostParams, LaunchExchangeParams, SellParams, TokenCreateParams, TradeVolumeParams } from "./models/params.js";
import { LaunchTokenResult } from "./models/results.js";
import { MarketMaker } from "./interfaces/interfaces.js";
declare class SolMM implements MarketMaker {
    private boostHandlers;
    private tradeVolumeHandlers;
    private sellHandlers;
    private trackers;
    private tokenCreator;
    private rpcUrl;
    private readonly connection;
    private readonly testnet;
    constructor(rpcUrl: string, testnet: boolean);
    getBalance(walletAddresses: string[]): Promise<Record<string, WalletBalance>>;
    getTokenInfo(tokenAddress: string): Promise<TokenInfo | undefined>;
    transferBalance(fromKeypair: Keypair, toAddresses: string[], amount: bigint): Promise<Record<string, string>>;
    createToken(tokenParams: TokenCreateParams, ownerKeypair: Keypair): Promise<string>;
    launchToken(launchExchange: ExchangeType, tokenParams: TokenCreateParams, launchParams: LaunchExchangeParams, ownerKeypair: Keypair): Promise<LaunchTokenResult | undefined>;
    startBoostToken(launchExchange: ExchangeType, boostParams: BoostParams, walletKeypaires: Keypair): Promise<string>;
    pauseBoostToken(boostId: string): Promise<boolean>;
    resumeBoostToken(boostId: string): Promise<boolean>;
    stopBoostToken(boostId: string): Promise<boolean>;
    startTradeVolume(launchExchange: ExchangeType, tradeParams: TradeVolumeParams, walletKeypaires: Keypair[]): Promise<string>;
    pauseTradeVolume(tradeId: string): Promise<boolean>;
    resumeTradeVolume(tradeId: string): Promise<boolean>;
    stopTradeVolume(tradeId: string): Promise<boolean>;
    sellToken(sellParams: SellParams, walletKeypaires: Keypair[], ownerKeypair: Keypair): Promise<string>;
    pauseSellToken(sellId: string): Promise<boolean>;
    resumeSellToken(sellId: string): Promise<boolean>;
    stopSellToken(sellId: string): Promise<boolean>;
    trackLiquidity(launchExchange: ExchangeType, pairAddress: string): boolean;
    stopTrackingLiquidity(): boolean;
    trackProfit(walletAddresses: string[]): boolean;
    stopTrackingProfit(): boolean;
    on(event: EventType, callback: (data: unknown) => void): void;
}
export { SolMM };
//# sourceMappingURL=mm.d.ts.map