import type { Tool } from '@wrongstack/core/types'; export type E2EFramework = 'playwright' | 'cypress'; export type E2EPackageManager = 'pnpm' | 'npm' | 'yarn' | 'bun'; export interface E2EPlanInput { cwd?: string | undefined; framework?: E2EFramework | 'all' | undefined; maxDepth?: number | undefined; includeSpecs?: boolean | undefined; } export interface E2EServerHint { kind: 'managed' | 'attach'; command?: string | undefined; url?: string | undefined; port?: number | undefined; source: 'static-config'; incomplete: boolean; } export interface E2EExecutionPlan { command: string; args: string[]; cwd: string; source: 'package-script' | 'framework-default'; script?: string | undefined; } export interface E2EProjectPlan { framework: E2EFramework; root: string; configPath?: string | undefined; packagePath?: string | undefined; packageManager: E2EPackageManager; evidence: string[]; scripts: string[]; serverHints: E2EServerHint[]; specPattern: string; specCount: number; specSamples: string[]; specsTruncated: boolean; execution: E2EExecutionPlan; warnings: string[]; } export interface E2EPlanOutput { root: string; projects: E2EProjectPlan[]; scannedDirectories: number; scanTruncated: boolean; warnings: string[]; } export declare function discoverE2EProjects(root: string, options: { framework?: E2EFramework | 'all' | undefined; maxDepth?: number | undefined; includeSpecs?: boolean | undefined; signal: AbortSignal; }): Promise; type E2EPlanContext = Parameters['execute']>[1]; export declare const e2ePlanTool: { name: string; category: string; description: string; usageHint: string; permission: "auto"; mutating: false; riskTier: "safe"; capabilities: string[]; icon: "test"; timeoutMs: number; inputSchema: { type: string; properties: { cwd: { type: string; description: string; }; framework: { type: string; enum: string[]; description: string; }; maxDepth: { type: string; minimum: number; maximum: number; description: string; }; includeSpecs: { type: string; description: string; }; }; }; execute(input: E2EPlanInput, ctx: E2EPlanContext, opts?: { signal: AbortSignal; }): Promise; }; export {}; //# sourceMappingURL=e2e.d.ts.map