/**
 * V1 pattern detection.
 *
 * Analyses a project directory and returns a structured report of every v1
 * artefact that needs to be migrated to v2.  No files are modified here.
 */
/** Severity of a finding — drives the interactive prompt */
export type Severity = 'auto' | 'guided' | 'manual';
export interface Finding {
    /** Short identifier used to reference this finding in transforms */
    id: string;
    severity: Severity;
    /** Human-readable summary */
    message: string;
    /** File relative to project root, or undefined for project-level findings */
    file?: string;
    /** Extra detail or migration hint shown in the report */
    hint?: string;
}
export interface DetectionResult {
    projectDir: string;
    /** All findings, ordered by severity (auto → guided → manual) */
    findings: Finding[];
    /** Absolute path to app.ts, if found */
    appTsPath?: string;
    /** Absolute path to src/generated dir, if it exists */
    generatedDir?: string;
    /** Absolute paths of route files detected as v1-style (mutating createRouter) */
    v1RouteFiles: string[];
    /** Absolute paths of route files already in v2-style (chained Hono) */
    v2RouteFiles: string[];
    /** Whether src/agent/index.ts barrel exists */
    hasAgentBarrel: boolean;
    /** Whether src/api/index.ts barrel exists */
    hasApiBarrel: boolean;
    /** Whether agentuity.config.ts exists */
    hasAgentuityConfig: boolean;
    /** Whether app.ts passes analytics/workbench inside createApp() */
    analyticsInCreateApp: boolean;
    workbenchInCreateApp: boolean;
    /** Whether app.ts passes setup/shutdown inside createApp() */
    setupInCreateApp: boolean;
    shutdownInCreateApp: boolean;
    /** Whether app.ts calls bootstrapRuntimeEnv() */
    bootstrapCallInAppTs: boolean;
    /** Whether frontend code uses removed APIs */
    frontendRemovedApis: FrontendFinding[];
    /** @agentuity/* packages that need version upgrade to ^2.0.0 */
    outdatedPackages: OutdatedPackage[];
}
export interface FrontendFinding {
    file: string;
    apis: string[];
    /** APIs that are deprecated (still work but should migrate away) */
    deprecatedApis?: string[];
}
/** Outdated @agentuity/* package that needs version update */
export interface OutdatedPackage {
    name: string;
    currentVersion: string;
    section: 'dependencies' | 'devDependencies';
}
export declare function detect(projectDir: string): Promise<DetectionResult>;
//# sourceMappingURL=detect.d.ts.map