import { StructuredTool } from "@langchain/core/tools";
import { z } from "zod";
import { KibanAgentKit } from "../agent/KibanAgentKit";
/**
 * LangChain tool for getting a swap quote
 */
export declare class GetSwapQuoteTool extends StructuredTool {
    name: string;
    description: string;
    schema: z.ZodObject<{
        tokenIn: z.ZodString;
        tokenOut: z.ZodString;
        amount: z.ZodString;
        slippagePercentage: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        amount: string;
        tokenIn: string;
        tokenOut: string;
        slippagePercentage?: number | undefined;
    }, {
        amount: string;
        tokenIn: string;
        tokenOut: string;
        slippagePercentage?: number | undefined;
    }>;
    private service;
    constructor(agent: KibanAgentKit);
    protected _call(input: z.input<typeof this.schema>): Promise<string>;
}
/**
 * LangChain tool for executing a token swap
 */
export declare class SwapTokensTool extends StructuredTool {
    name: string;
    description: string;
    schema: z.ZodObject<{
        tokenIn: z.ZodString;
        tokenOut: z.ZodString;
        amount: z.ZodString;
        slippagePercentage: z.ZodOptional<z.ZodNumber>;
        recipient: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        amount: string;
        tokenIn: string;
        tokenOut: string;
        recipient?: string | undefined;
        slippagePercentage?: number | undefined;
    }, {
        amount: string;
        tokenIn: string;
        tokenOut: string;
        recipient?: string | undefined;
        slippagePercentage?: number | undefined;
    }>;
    private service;
    constructor(agent: KibanAgentKit);
    protected _call(input: z.input<typeof this.schema>): Promise<string>;
}
