import type { z } from 'zod'; import type { WebAppConfigSchema, BackendConfigSchema, CliConfigSchema, LibraryConfigSchema, MobileAppConfigSchema, DataPipelineConfigSchema, MlConfigSchema, ResearchConfigSchema, BrowserExtensionConfigSchema, GameConfigSchema, DataScienceConfigSchema, Web3ConfigSchema, McpServerConfigSchema, MacosNativeConfigSchema } from '../../config/schema.js'; export type Confidence = 'high' | 'medium' | 'low'; export interface DetectionEvidence { readonly signal: string; readonly file?: string; readonly note?: string; } interface BaseMatch { readonly confidence: Confidence; readonly evidence: readonly DetectionEvidence[]; } export interface WebAppMatch extends BaseMatch { readonly projectType: 'web-app'; readonly partialConfig: Partial>; } export interface BackendMatch extends BaseMatch { readonly projectType: 'backend'; readonly partialConfig: Partial>; } export interface CliMatch extends BaseMatch { readonly projectType: 'cli'; readonly partialConfig: Partial>; } export interface LibraryMatch extends BaseMatch { readonly projectType: 'library'; readonly partialConfig: Partial>; } export interface MobileAppMatch extends BaseMatch { readonly projectType: 'mobile-app'; readonly partialConfig: Partial>; } export interface DataPipelineMatch extends BaseMatch { readonly projectType: 'data-pipeline'; readonly partialConfig: Partial>; } export interface MlMatch extends BaseMatch { readonly projectType: 'ml'; readonly partialConfig: Partial>; } export interface ResearchMatch extends BaseMatch { readonly projectType: 'research'; readonly partialConfig: Partial>; } export interface BrowserExtensionMatch extends BaseMatch { readonly projectType: 'browser-extension'; readonly partialConfig: Partial>; } export interface GameMatch extends BaseMatch { readonly projectType: 'game'; readonly partialConfig: Partial>; } export interface MacosNativeMatch extends BaseMatch { readonly projectType: 'macos-native'; readonly partialConfig: Partial>; } export interface DataScienceMatch extends BaseMatch { readonly projectType: 'data-science'; readonly partialConfig: Partial>; } export interface Web3Match extends BaseMatch { readonly projectType: 'web3'; readonly partialConfig: Partial>; } export interface McpServerMatch extends BaseMatch { readonly projectType: 'mcp-server'; readonly partialConfig: Partial>; } export type DetectionMatch = WebAppMatch | BackendMatch | CliMatch | LibraryMatch | MobileAppMatch | DataPipelineMatch | MlMatch | ResearchMatch | BrowserExtensionMatch | GameMatch | DataScienceMatch | Web3Match | McpServerMatch | MacosNativeMatch; export type Detector = (ctx: import('./context.js').SignalContext) => DetectionMatch | null; /** Exhaustiveness helper for discriminated-union routing. */ export declare function assertNever(value: never): never; /** Ergonomic evidence builder. */ export declare function evidence(signal: string, file?: string, note?: string): DetectionEvidence; export {}; //# sourceMappingURL=types.d.ts.map