import { Tool } from '@anthropic-ai/sdk/resources/messages';
export { formatResult } from './client.js';
export { getSystemPrompt } from './agent/prompt.js';
import { d as WarpGrepToolConfig, b as WarpGrepResult } from '../../types-D5p8QErL.js';
import './agent/types.js';
import '../utils/resilience.js';
import './providers/types.js';

/**
 * Anthropic SDK adapter for morph-warp-grep tool
 */

/**
 * Anthropic-native warp grep tool definition
 *
 * @example
 * ```typescript
 * import Anthropic from '@anthropic-ai/sdk';
 * import { warpGrepTool, execute } from '@morphllm/morphsdk/tools/warp-grep/anthropic';
 *
 * const client = new Anthropic();
 * const response = await client.messages.create({
 *   model: 'claude-sonnet-4-5-20250929',
 *   tools: [warpGrepTool],
 *   messages: [{ role: 'user', content: 'Find authentication middleware' }]
 * });
 *
 * // Execute the tool call
 * const result = await execute({ query: '...' }, { repoRoot: '.' });
 * ```
 */
declare const warpGrepTool: Tool;
/**
 * Execute warp grep search
 *
 * @param input - Tool input with query
 * @param config - Configuration with repoRoot and optional provider
 * @returns Search results
 */
declare function execute(input: {
    query: string;
} | string, config: WarpGrepToolConfig): Promise<WarpGrepResult>;

/**
 * Create a custom warp grep tool with configuration and methods
 *
 * @param config - Configuration options
 * @returns Tool definition with execute and formatResult methods
 *
 * @example Local usage
 * ```typescript
 * import Anthropic from '@anthropic-ai/sdk';
 * import { createWarpGrepTool } from '@morphllm/morphsdk/tools/warp-grep/anthropic';
 *
 * const tool = createWarpGrepTool({ repoRoot: '.' });
 *
 * const client = new Anthropic();
 * const response = await client.messages.create({
 *   model: 'claude-sonnet-4-5-20250929',
 *   tools: [tool],
 *   messages: [{ role: 'user', content: 'Find authentication middleware' }]
 * });
 * ```
 *
 * @example Remote sandbox (E2B, Modal, etc.)
 * ```typescript
 * const tool = createMorphWarpGrepTool({
 *   repoRoot: '/home/repo',
 *   remoteCommands: {
 *     grep: async (pattern, path) => (await sandbox.run(`rg '${pattern}' '${path}'`)).stdout,
 *     read: async (path, start, end) => (await sandbox.run(`sed -n '${start},${end}p' '${path}'`)).stdout,
 *     listDir: async (path, maxDepth) => (await sandbox.run(`find '${path}' -maxdepth ${maxDepth}`)).stdout,
 *   },
 * });
 * ```
 */
declare function createWarpGrepTool(config: WarpGrepToolConfig): Tool & {
    execute: (input: unknown) => Promise<WarpGrepResult>;
    formatResult: (result: WarpGrepResult) => string;
    getSystemPrompt: () => string;
};

export { createWarpGrepTool, execute, warpGrepTool };
