import { StructuredTool } from "@langchain/core/tools";
import { z } from "zod";
import { KibanAgentKit } from "../agent/KibanAgentKit";
/**
 * LangChain tool for checking native token (ETH) balance
 */
export declare class EvmBalanceTool extends StructuredTool {
    private agent;
    name: string;
    description: string;
    schema: z.ZodObject<{
        address: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        address: string;
    }, {
        address: string;
    }>;
    constructor(agent: KibanAgentKit);
    protected _call(input: z.input<typeof this.schema>): Promise<string>;
}
/**
 * LangChain tool for transferring ETH or ERC20 tokens
 */
export declare class EvmTransferTool extends StructuredTool {
    private agent;
    name: string;
    description: string;
    schema: z.ZodObject<{
        to: z.ZodString;
        amount: z.ZodString;
        tokenAddress: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        to: string;
        amount: string;
        tokenAddress?: string | undefined;
    }, {
        to: string;
        amount: string;
        tokenAddress?: string | undefined;
    }>;
    constructor(agent: KibanAgentKit);
    protected _call(input: z.input<typeof this.schema>): Promise<string>;
}
/**
 * LangChain tool for getting wallet information
 */
export declare class WalletInfoTool extends StructuredTool {
    name: string;
    description: string;
    schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
    private service;
    constructor(agent: KibanAgentKit);
    protected _call(): Promise<string>;
}
/**
 * LangChain tool for estimating gas
 */
export declare class GasEstimatorTool extends StructuredTool {
    name: string;
    description: string;
    schema: z.ZodObject<{
        to: z.ZodOptional<z.ZodString>;
        value: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        to?: string | undefined;
        value?: string | undefined;
    }, {
        to?: string | undefined;
        value?: string | undefined;
    }>;
    private service;
    constructor(agent: KibanAgentKit);
    protected _call(input: z.input<typeof this.schema>): Promise<string>;
}
/**
 * LangChain tool for retrieving transaction history
 */
export declare class TransactionHistoryTool extends StructuredTool {
    name: string;
    description: string;
    schema: z.ZodObject<{
        limit: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        limit?: number | undefined;
    }, {
        limit?: number | undefined;
    }>;
    private service;
    constructor(agent: KibanAgentKit);
    protected _call(input: z.input<typeof this.schema>): Promise<string>;
}
