import * as ai from 'ai';
import { BrowserConfig } from './tools/browser/types.js';

/**
 * Create Vercel AI SDK tool for browser automation
 *
 * @param config - Optional browser worker configuration
 * @returns Vercel AI SDK tool
 *
 * @example
 * ```typescript
 * import { generateText } from 'ai';
 * import { anthropic } from '@ai-sdk/anthropic';
 * import { createBrowserTool } from 'morphsdk/tools/browser/vercel';
 *
 * const browserTool = createBrowserTool({
 *   apiUrl: 'https://browser-worker.example.com'
 * });
 *
 * const result = await generateText({
 *   model: anthropic('claude-sonnet-4-5-20250929'),
 *   tools: { browserTask: browserTool },
 *   prompt: 'Test the checkout flow at https://3000-abc.e2b.dev',
 *   maxSteps: 5
 * });
 * ```
 */
declare function createBrowserTool(config?: BrowserConfig): ai.Tool<{
    task: string;
    maxSteps: number;
    region: "sfo" | "lon";
    url?: string | undefined;
}, {
    success: boolean;
    result: string | undefined;
    stepsTaken: number | undefined;
    executionTimeMs: number | undefined;
    error?: undefined;
} | {
    success: boolean;
    error: string | undefined;
    result?: undefined;
    stepsTaken?: undefined;
    executionTimeMs?: undefined;
}>;
/**
 * Default browser tool for Vercel AI SDK
 */
declare const browserTool: ai.Tool<{
    task: string;
    maxSteps: number;
    region: "sfo" | "lon";
    url?: string | undefined;
}, {
    success: boolean;
    result: string | undefined;
    stepsTaken: number | undefined;
    executionTimeMs: number | undefined;
    error?: undefined;
} | {
    success: boolean;
    error: string | undefined;
    result?: undefined;
    stepsTaken?: undefined;
    executionTimeMs?: undefined;
}>;

declare const vercel_browserTool: typeof browserTool;
declare const vercel_createBrowserTool: typeof createBrowserTool;
declare namespace vercel {
  export { vercel_browserTool as browserTool, vercel_createBrowserTool as createBrowserTool };
}

export { browserTool as b, createBrowserTool as c, vercel as v };
