import { Address, PublicClient, WalletClient } from "viem";
import { Config } from "../types";
import { PharosWalletProvider } from "../wallet-providers";
/**
 * Main class for interacting with Pharos blockchain
 * Provides a unified interface for token operations, NFT management, trading and more
 *
 * @class PharosAgentKit
 * @property {PublicClient} connection - Pharos RPC connection
 * @property {PharosWalletProvider} wallet - Wallet provider for signing transactions
 * @property {Address} wallet_address - Address of the wallet
 * @property {Config} config - Configuration object
 */
export declare class PharosAgentKit {
    connection: PublicClient;
    publicClient: PublicClient;
    walletClient: WalletClient;
    wallet: PharosWalletProvider;
    wallet_address: Address;
    config: Config | undefined;
    rpcUrl: string;
    privateKey: string;
    constructor(private_key: string, rpc_url: string, config?: Config);
    getBalance(token_address?: Address | undefined): Promise<number>;
    transfer(to: Address, amount: number, mint?: Address): Promise<string>;
    fetchTokenPriceByChainId(tokenAddr: string, chainId: number): Promise<string>;
    fetchTokenPriceByChainSlug(tokenAddr: string, chainSlug: string): Promise<string>;
    fetchTokenPrices(chainTokenIdentifiers: string[]): Promise<string>;
    fetchProtocolTvl(slug: string): Promise<string>;
    getCoingeckoLatestPools(): Promise<any>;
    getTokenPriceDataUsingCoingecko(...tokenAddresses: string[]): Promise<any>;
    getTopGainersOnCoingecko(duration?: "1h" | "24h" | "7d" | "14d" | "30d" | "60d" | "1y", noOfCoins?: 300 | 500 | 1000 | "all"): Promise<any>;
    getCoingeckoTrendingPools(duration?: "5m" | "1h" | "24h" | "6h"): Promise<any>;
    getTrendingTokensOnCoingecko(): Promise<any>;
    getTrendingTokens(): Promise<any>;
    getTrendingTokensUsingElfaAi(): Promise<any>;
    pingElfaAiApi(): Promise<any>;
    getElfaAiApiKeyStatus(): Promise<any>;
    getSmartMentions(limit?: number, offset?: number): Promise<any>;
    getSmartTwitterAccountStats(username: string): Promise<any>;
    getTopMentionsByTicker(ticker: string, timeWindow?: string, page?: number, pageSize?: number, includeAccountDetails?: boolean): Promise<any>;
    searchMentionsByKeywords(keywords: string, from: number, to: number, limit?: number): Promise<any>;
    getERC721Balance(token_address: Address): Promise<string>;
    transferERC721(to: Address, amount: number, tokenAddress: Address, tokenId: string): Promise<string>;
    mintERC721(to: Address, tokenAddress: Address, tokenId: bigint): Promise<string>;
    getTokenDataByTicker(ticker: string): Promise<any | undefined>;
}
//# sourceMappingURL=index.d.ts.map