import * as ai from 'ai';
import { EditChanges, EditFileConfig } from './tools/fastapply/types.js';

declare const editFileTool: ai.Tool<{
    target_filepath: string;
    instruction: string;
    code_edit: string;
}, {
    success: boolean;
    filepath: string;
    changes: EditChanges;
    udiff: string | undefined;
}>;
/**
 * Get the system prompt for edit_file usage
 *
 * Add this to your system message to guide the model on using edit_file properly.
 *
 * @example
 * ```ts
 * const result = await generateText({
 *   model: anthropic('claude-sonnet-4-5-20250929'),
 *   system: getSystemPrompt(),
 *   tools: { editFile: editFileTool },
 *   prompt: "Fix bugs"
 * });
 * ```
 */
declare function getSystemPrompt(): string;
/**
 * Create a custom edit_file tool with configuration
 *
 * @param config - Configuration options
 * @returns Vercel AI SDK tool with custom config
 *
 * @example
 * ```ts
 * const customEditTool = createEditFileTool({
 *   baseDir: './src',
 *   generateUdiff: true,
 *   description: 'Custom tool description for your use case'
 * });
 *
 * const result = await generateText({
 *   model: anthropic('claude-sonnet-4-5-20250929'),
 *   tools: { editFile: customEditTool },
 *   prompt: "Fix bugs"
 * });
 * ```
 */
declare function createEditFileTool(config?: EditFileConfig): ai.Tool<{
    target_filepath: string;
    instruction: string;
    code_edit: string;
}, {
    success: boolean;
    filepath: string;
    changes: EditChanges;
    udiff: string | undefined;
}>;

declare const vercel_createEditFileTool: typeof createEditFileTool;
declare const vercel_editFileTool: typeof editFileTool;
declare const vercel_getSystemPrompt: typeof getSystemPrompt;
declare namespace vercel {
  export { vercel_createEditFileTool as createEditFileTool, editFileTool as default, vercel_editFileTool as editFileTool, vercel_getSystemPrompt as getSystemPrompt };
}

export { createEditFileTool as c, editFileTool as e, getSystemPrompt as g, vercel as v };
