import { z } from "zod";
import { ActionProvider } from "../actionProvider";
import { Network } from "../../network";
import { MessariResearchQuestionSchema } from "./schemas";
import { MessariActionProviderConfig } from "./types";
/**
 * MessariActionProvider is an action provider for Messari AI toolkit interactions.
 * It enables AI agents to ask research questions about crypto markets, protocols, and tokens.
 *
 * @augments ActionProvider
 */
export declare class MessariActionProvider extends ActionProvider {
    private readonly apiKey;
    /**
     * Constructor for the MessariActionProvider class.
     *
     * @param config - The configuration options for the MessariActionProvider
     */
    constructor(config?: MessariActionProviderConfig);
    /**
     * Makes a request to the Messari AI API with a research question
     *
     * @param args - The arguments containing the research question
     * @returns A string containing the research results or an error message
     */
    researchQuestion(args: z.infer<typeof MessariResearchQuestionSchema>): Promise<string>;
    /**
     * Checks if the action provider supports the given network.
     * Messari research is network-agnostic, so it supports all networks.
     *
     * @param _ - The network to check
     * @returns Always returns true as Messari research is network-agnostic
     */
    supportsNetwork(_: Network): boolean;
}
/**
 * Factory function to create a new MessariActionProvider instance.
 *
 * @param config - The configuration options for the MessariActionProvider
 * @returns A new instance of MessariActionProvider
 */
export declare const messariActionProvider: (config?: MessariActionProviderConfig) => MessariActionProvider;
