/**
 * ContentExtractor - Extracts components from DollhouseMCP skills for Anthropic conversion
 *
 * Identifies and extracts:
 * - Code blocks (bash, python, etc.) → scripts/
 * - Documentation sections → reference/
 * - Examples → examples/
 * - Main instructions (preserved in SKILL.md)
 *
 * SECURITY MODEL:
 * - This is a FORMAT ANALYSIS tool, not a security boundary
 * - Preserves content exactly as-is for mechanical transformation
 * - No modification, sanitization, or validation
 * - Used by converters which are format transformers, not security gates
 */
export interface ExtractedSection {
    type: 'code' | 'documentation' | 'example' | 'main';
    language?: string;
    title: string;
    content: string;
    startLine: number;
    endLine: number;
    filename?: string;
}
export declare class ContentExtractor {
    /**
     * Parse DollhouseMCP markdown content and identify extractable sections
     * REFACTORED: Simplified by extracting code block and section handling logic
     */
    extractSections(content: string): ExtractedSection[];
    /**
     * Process a single line and update state
     * REFACTORED: Extracted to reduce cognitive complexity
     */
    private processLine;
    /**
     * Handle code block start/end boundary
     * REFACTORED: Extracted to reduce cognitive complexity
     */
    private handleCodeBlockBoundary;
    /**
     * Add code block to sections if it should be extracted
     * REFACTORED: Extracted to reduce cognitive complexity
     */
    private addCodeBlockIfExtractable;
    /**
     * Handle section header
     * REFACTORED: Extracted to reduce cognitive complexity
     */
    private handleSectionHeader;
    /**
     * Determine if a code block should be extracted to a separate file
     */
    private shouldExtractCodeBlock;
    /**
     * Determine if a documentation section should be extracted
     */
    private shouldExtractSection;
    /**
     * Generate appropriate filename for extracted script
     */
    private generateScriptFilename;
    /**
     * Infer title for code block from surrounding context
     */
    private inferCodeBlockTitle;
    /**
     * Get file extension for language
     */
    private getExtension;
    /**
     * Extract complete documentation section (including subsections)
     */
    extractDocumentationSection(content: string, sectionTitle: string): string | null;
}
//# sourceMappingURL=ContentExtractor.d.ts.map