import { type HarnessConfig, type DetectedAuth } from './schemas/config.schema.js'; import type { Gap, GapAnalysis } from './schemas/gap-analysis.schema.js'; import { type RouteInventory } from './schemas/route-inventory.schema.js'; import type { RepoAnalysis } from './schemas/repo-analysis.schema.js'; import type { DecisionLogEntry } from './schemas/decision-log.schema.js'; import { type PublicSurface } from './schemas/public-surface.schema.js'; import type { AnalyzeProgressSink } from './harness/progress-log.js'; import type { TelemetrySink } from './telemetry/telemetry.interface.js'; export type AnalyzeStatus = 'complete' | 'blocked' | 'partial'; export interface AnalyzeOptions { url: string; repoPath?: string; config: HarnessConfig; writeArtifacts?: boolean; skipAuthDetection?: boolean; progressLog?: AnalyzeProgressSink; telemetry?: TelemetrySink; } export interface AnalyzeResult { status: AnalyzeStatus; coverageScore: number | null; /** Quality of evaluated pages only; `null` when no evaluable surface produced a score (fully blocked). */ releaseConfidence: number | null; /** Same entries as `gapAnalysis.gaps` for consumers that read a flat `gaps` field. */ gaps: Gap[]; gapAnalysis: GapAnalysis; /** Authenticated crawl scope only; empty routes when the scan stopped at an auth wall without credentials. */ routeInventory: RouteInventory; repoInventory: RepoAnalysis | null; decisionLog: DecisionLogEntry[]; detectedAuth?: DetectedAuth; /** Crawled public routes and their gap-derived surface (complete scans); OAuth-wall scans use the pre-auth crawl only. */ publicSurface: PublicSurface | null; } export declare function analyzeApp(options: AnalyzeOptions): Promise; //# sourceMappingURL=analyze.d.ts.map