import { CallbackManagerForToolRun } from "@langchain/core/callbacks/manager";
import { Tool, type ToolParams } from "@langchain/core/tools";
import Exa, { ContentsOptions, RegularSearchOptions } from "exa-js";
/**
 * Options for the ExaSearchResults tool.
 */
export type ExaSearchRetrieverFields<T extends ContentsOptions = {
    text: true;
}> = ToolParams & {
    client: Exa.default;
    searchArgs?: RegularSearchOptions & T;
};
/**
 * Tool for the Exa search API.
 */
export declare class ExaSearchResults<T extends ContentsOptions = {
    text: true;
}> extends Tool {
    static lc_name(): string;
    description: string;
    name: string;
    private client;
    searchArgs?: RegularSearchOptions & T;
    constructor(fields: ExaSearchRetrieverFields<T>);
    protected _call(input: string, _runManager?: CallbackManagerForToolRun): Promise<string>;
}
export declare class ExaFindSimilarResults<T extends ContentsOptions = {
    text: true;
}> extends Tool {
    static lc_name(): string;
    description: string;
    name: string;
    private client;
    searchArgs?: RegularSearchOptions & T;
    constructor(fields: ExaSearchRetrieverFields<T>);
    protected _call(url: string, _runManager?: CallbackManagerForToolRun): Promise<string>;
}
