/**
 * Spec Splitter - Split Monolithic Specs into Project-Specific Files
 *
 * Takes a comprehensive spec file covering multiple projects and intelligently
 * splits it into project-specific spec files (FE/, BE/, MOBILE/, etc.)
 *
 * @module spec-splitter
 */
import { type UserStory, type ProjectRule } from './project-mapper.js';
export interface SpecMetadata {
    specId?: string;
    spec_id?: string;
    title: string;
    version: string;
    status: string;
    created: string;
    lastUpdated?: string;
    last_updated?: string;
    authors: string[];
    reviewers?: string[];
    priority: string;
    estimatedEffort?: string;
    estimated_effort?: string;
    targetRelease?: string;
    target_release?: string;
    jiraSync?: boolean;
    jira_sync?: boolean;
    jiraProjects?: string[];
    jira_projects?: string[];
}
/**
 * Normalize metadata fields (prefers camelCase over snake_case)
 *
 * @param metadata Raw metadata with potential snake_case fields
 * @returns Normalized metadata with camelCase fields
 */
export declare function normalizeMetadata(metadata: SpecMetadata): SpecMetadata;
export interface ParsedSpec {
    metadata: SpecMetadata;
    executiveSummary: string;
    problemStatement: string;
    userStories: UserStory[];
    functionalRequirements: string;
    nonFunctionalRequirements: string;
    successMetrics: string;
    technicalArchitecture: string;
    testStrategy: string;
    riskAnalysis: string;
    futureRoadmap: string;
    appendices: string;
}
/**
 * Parse spec file into structured format
 *
 * @param specPath Path to spec.md file
 * @returns Parsed spec structure
 */
export declare function parseSpecFile(specPath: string): Promise<ParsedSpec>;
/**
 * Split spec into project-specific files
 *
 * @param specPath Path to monolithic spec.md
 * @param outputDir Directory to write project-specific specs (e.g., .specweave/docs/internal/specs/)
 * @param projectRules Custom project mapping rules (optional)
 * @returns Map of projectId → output file path
 */
export declare function splitSpecIntoProjects(specPath: string, outputDir: string, projectRules?: ProjectRule[]): Promise<Map<string, string>>;
/**
 * Create multi-project folder structure
 *
 * @param specsDir Base specs directory (.specweave/docs/internal/specs/)
 * @param projectIds Array of project IDs (e.g., ['FE', 'BE', 'MOBILE'])
 */
export declare function createMultiProjectFolderStructure(specsDir: string, projectIds: string[]): Promise<void>;
//# sourceMappingURL=spec-splitter.d.ts.map