import { BaseClient, BaseClientConfig } from '../../shared/base-client';
import { PumpFunSort, PUMP_FUN_ORDER, PumpFunToken, PumpFunUser, PumpFunUserTokenBalance, PumpFunCandle } from './types';
export declare class PumpFunClient extends BaseClient {
    constructor(config?: BaseClientConfig);
    /**
     * Get the current king of the hill token data
     * @returns Token data for the current king of the hill
     */
    getKingOfTheHill(): Promise<PumpFunToken>;
    /**
     * Get token data by mint address
     * @param mintAddress The token's mint address
     * @returns Token data
     */
    getTokenByMintAddress(mintAddress: string): Promise<PumpFunToken>;
    /**
     * Get user data
     * @param userAddress The user's wallet address
     * @returns User data
     */
    getUserData(userAddress: string): Promise<PumpFunUser>;
    /**
     * Get user token balances
     * @param userAddress The user's wallet address
     * @param limit Number of results to return
     * @param offset Number of results to skip
     * @returns User token balances
     */
    getUserBalances(userAddress: string, limit?: number, offset?: number): Promise<PumpFunUserTokenBalance[]>;
    /**
     * Get coins created by a user
     * @param userAddress The user's wallet address
     * @param limit Number of results to return
     * @param offset Number of results to skip
     * @returns Coins created by the user
     */
    getUserCreatedCoins(userAddress: string, limit?: number, offset?: number): Promise<{
        coins: PumpFunToken[];
        count: number;
    }>;
    /**
     * Get coins
     * @param offset Number of results to skip
     * @param limit Number of results to return
     * @param sort Field to sort by
     * @param order Sort order (ASC or DESC)
     * @returns Coin data
     */
    getCoins(offset?: number, limit?: number, sort?: PumpFunSort, order?: PUMP_FUN_ORDER): Promise<PumpFunToken[]>;
    /**
     * Get candlestick data for a token
     * @param mintAddress The token's mint address
     * @param offset Number of results to skip
     * @param limit Number of results to return
     * @param timeframe Timeframe in minutes
     * @returns Candlestick data
     */
    getCandlesticks(mintAddress: string, offset?: number, limit?: number, timeframe?: number): Promise<PumpFunCandle[]>;
}
