import { PublicClient, WalletClient, Hash } from "viem";
import { WalletConfig } from "../types";
import { TokenTools } from "../tools/token";
import { TokenInfo, SendTokenParams, ApproveParams, AllowanceParams, TransactionResult } from "../tools/token/service";
export declare class KibanAgentKit {
    protected clients: {
        public: PublicClient;
        wallet: WalletClient;
    };
    private account;
    private chain;
    private walletTools;
    private tokenTools;
    private dexScreenerService;
    private walletService;
    private tokenService;
    constructor(config: WalletConfig);
    getAddress(): string;
    getChainId(): number;
    getChainInfo(): Promise<import("../tools/wallet").ChainInfo>;
    getNativeBalance(): Promise<string>;
    checkToken(tokenAddressOrSymbol: string): Promise<import("../tools/token").TokenInfo>;
    sendTokens(params: Parameters<TokenTools["sendTokens"]>[0]): Promise<Hash>;
    approveSpending(params: Parameters<TokenTools["approveSpending"]>[0]): Promise<Hash>;
    getTokenMetadata(tokenAddress: string): Promise<import("../tools/token").TokenMetadata>;
    getAllowance(params: Parameters<TokenTools["getAllowance"]>[0]): Promise<bigint>;
    waitForTransaction(hash: Hash): Promise<import("../tools/token").TransactionResult>;
    getGasPrice(): Promise<bigint>;
    estimateGas(params: {
        to: string;
        value: bigint;
    }): Promise<bigint>;
    getTokenData(tokenAddress: string): Promise<import("../tools/dexscreener").TokenData | null>;
    searchTokenByTicker(ticker: string): Promise<import("../tools/dexscreener").TokenSearchResponse>;
    getWalletInfo(): Promise<import("../tools/wallet").WalletInfo>;
    getTransactionHistory(limit?: number): Promise<import("../tools/wallet").TransactionHistory>;
    estimateGasForTransaction(to?: string, value?: string): Promise<import("../tools/wallet").GasEstimate>;
    getTokenInfo(tokenAddress: string): Promise<TokenInfo>;
    sendTokensWithService(params: SendTokenParams): Promise<TransactionResult>;
    approveTokenSpending(params: ApproveParams): Promise<TransactionResult>;
    getTokenAllowance(params: AllowanceParams): Promise<bigint>;
}
