/**
 * Multi-Repo Intent Detector
 *
 * Detects when user describes a multi-repo architecture and extracts
 * suggested repo structure with project prefixes.
 *
 * @example
 * detectMultiRepoIntent("Build platform with 3 repos: Frontend, Backend, Shared")
 * // Returns:
 * // {
 * //   detected: true,
 * //   confidence: 'high',
 * //   suggestedRepos: [
 * //     { name: 'frontend', type: 'frontend', prefix: 'FE' },
 * //     { name: 'backend', type: 'backend', prefix: 'BE' },
 * //     { name: 'shared', type: 'shared', prefix: 'SHARED' }
 * //   ]
 * // }
 */
export type RepoType = 'frontend' | 'backend' | 'shared' | 'api' | 'mobile' | 'infrastructure' | 'unknown';
export interface SuggestedRepo {
    /** Suggested repo name (lowercase, kebab-case) */
    name: string;
    /** Detected repo type */
    type: RepoType;
    /** Prefix for user stories (e.g., 'FE', 'BE', 'SHARED') */
    prefix: string;
    /** Keywords that triggered this detection */
    matchedKeywords: string[];
    /** Original text that matched */
    originalMatch?: string;
}
export interface MultiRepoIntent {
    /** Whether multi-repo architecture was detected */
    detected: boolean;
    /** Confidence level of detection */
    confidence: 'high' | 'medium' | 'low';
    /** Suggested repos with types and prefixes */
    suggestedRepos: SuggestedRepo[];
    /** GitHub URLs if user provided them */
    cloneUrls: string[];
    /** Raw detection triggers that fired */
    triggers: string[];
}
/**
 * Detect multi-repo intent from user prompt
 *
 * @param userPrompt - User's project description
 * @returns Detection result with suggested repos
 */
export declare function detectMultiRepoIntent(userPrompt: string): MultiRepoIntent;
/**
 * Get user story prefix for a repo type
 *
 * @param type - Repo type
 * @returns Prefix for user stories (e.g., 'FE', 'BE')
 */
export declare function getPrefixForRepoType(type: RepoType): string;
/**
 * Detect repo type from keywords in a user story description
 *
 * @param description - User story or feature description
 * @returns Detected repo type
 */
export declare function detectRepoTypeFromDescription(description: string): RepoType;
/**
 * Parse repo name to extract project prefix
 *
 * @param repoName - Repository name (e.g., "sw-qr-menu-fe")
 * @returns Extracted prefix or null
 *
 * @example
 * extractPrefixFromRepoName("sw-qr-menu-fe") // "FE"
 * extractPrefixFromRepoName("my-app-backend") // "BE"
 * extractPrefixFromRepoName("shared-lib") // "SHARED"
 */
export declare function extractPrefixFromRepoName(repoName: string): string | null;
/**
 * Format multi-repo detection result for display
 *
 * @param result - Detection result
 * @returns Formatted string for user display
 */
export declare function formatDetectionResult(result: MultiRepoIntent): string;
//# sourceMappingURL=multi-repo-detector.d.ts.map