import type { ScraperDefinition } from "../define.js"; import { type TaskQueueStats } from "./TaskQueue.js"; export interface RunOptions { readonly dataDir: string; readonly concurrency?: number; readonly maxAttempts?: number; readonly requestsPerMinute?: number; readonly minDelayMs?: number; /** Run-time args (parsed from CLI). Defaults to {}. Exposed as ctx.args. */ readonly args?: Record; /** Stable filename leaf for results. Defaults to ISO timestamp. */ readonly outName?: string; } export type RunStatus = "completed" | "failed"; export interface RunResult { readonly scraperId: string; readonly status: RunStatus; readonly itemCount: number; readonly taskStats: TaskQueueStats; readonly durationMs: number; readonly error?: string; } export declare function runScraper(scraper: ScraperDefinition, options: RunOptions): Promise;