/**
 * Content Distributor for Intelligent Living Docs Sync
 *
 * Distributes classified spec sections to appropriate folders with proper formatting.
 *
 * @module living-docs/content-distributor
 */
import { ParsedSpec } from './content-parser.js';
import { ClassificationResult, ContentCategory } from './content-classifier.js';
import { ProjectContext } from './project-detector.js';
/**
 * Distribution result
 */
export interface DistributionResult {
    created: DistributedFile[];
    updated: DistributedFile[];
    skipped: DistributedFile[];
    errors: DistributionError[];
    summary: DistributionSummary;
}
/**
 * Distributed file information
 */
export interface DistributedFile {
    path: string;
    category: ContentCategory;
    size: number;
    sections: number;
}
/**
 * Distribution error
 */
export interface DistributionError {
    section: string;
    category: ContentCategory;
    error: string;
    path?: string;
}
/**
 * Distribution summary statistics
 */
export interface DistributionSummary {
    totalSections: number;
    filesCreated: number;
    filesUpdated: number;
    filesSkipped: number;
    errors: number;
    byCategory: Record<ContentCategory, number>;
}
/**
 * Distributor options
 */
export interface DistributorOptions {
    basePath?: string;
    generateFrontmatter?: boolean;
    preserveOriginal?: boolean;
    dryRun?: boolean;
}
/**
 * Content Distributor class
 */
export declare class ContentDistributor {
    private options;
    constructor(options?: DistributorOptions);
    /**
     * Distribute parsed spec to appropriate locations
     */
    distribute(incrementId: string, spec: ParsedSpec, classifications: ClassificationResult[], project: ProjectContext): Promise<DistributionResult>;
    /**
     * Flatten nested sections
     */
    private flattenSections;
    /**
     * Group sections by destination file
     */
    private groupByFile;
    /**
     * Resolve file path with project
     */
    private resolvePath;
    /**
     * Write a file with grouped sections
     */
    private writeFile;
    /**
     * Generate file content with frontmatter and sections
     */
    private generateFileContent;
    /**
     * Generate Docusaurus frontmatter
     */
    private generateFrontmatter;
    /**
     * Generate description from sections
     */
    private generateDescription;
    /**
     * Archive original spec for reference
     */
    private archiveOriginalSpec;
    /**
     * Generate index file for a category
     */
    generateIndex(category: ContentCategory, projectId: string, files: DistributedFile[]): Promise<void>;
    /**
     * Get category display title
     */
    private getCategoryTitle;
    /**
     * Get distribution statistics
     */
    getStatistics(result: DistributionResult): {
        totalFiles: number;
        totalSize: number;
        averageSize: number;
        byCategory: Record<ContentCategory, {
            files: number;
            size: number;
        }>;
    };
}
/**
 * Factory function to create distributor
 */
export declare function createContentDistributor(options?: DistributorOptions): ContentDistributor;
//# sourceMappingURL=content-distributor.d.ts.map