import { type HandlerCallback, type IAgentRuntime, type Memory, type State } from "@elizaos/core";
import { type McpProvider, type McpServer } from "../types";
export declare function withModelRetry<T>(initialInput: string, runtime: IAgentRuntime, validationFn: (data: unknown) => {
    success: true;
    data: T;
} | {
    success: false;
    error: string;
}, message: Memory, composedState: State, createFeedbackPromptFn: (originalResponse: string, errorMessage: string, composedState: State, userMessage: string) => string, callback?: HandlerCallback, failureMsg?: string, retryCount?: number): Promise<T | null>;
export declare function getMaxRetries(runtime: IAgentRuntime): number;
export declare function handleNoSelectionAvailable<T>(selection: T & {
    noToolAvailable?: boolean;
    noResourceAvailable?: boolean;
}, callback?: HandlerCallback, message?: string): Promise<boolean>;
export declare function createMcpMemory(runtime: IAgentRuntime, message: Memory, type: string, serverName: string, content: string, metadata: Record<string, unknown>): Promise<void>;
export declare function buildMcpProviderData(servers: McpServer[]): McpProvider;
