"""
Validators package for semantic document validation.

This package contains validators that check markdown documents against
x-markitect schema extensions (sections, content-control, link validation).

Validators:
    - SectionValidator: Validates section presence based on classifications
    - ContentValidator: Validates content patterns and quality metrics
    - LinkValidator: Validates internal and external links
"""

from markitect.validators.section_validator import (
    SectionValidator,
    SectionValidationResult,
    SectionIssue,
    SectionMissing,
    SectionImproper,
    SectionDiscouraged,
)

from markitect.validators.content_validator import (
    ContentValidator,
    ContentValidationResult,
    ContentIssue,
    PatternMissing,
    ForbiddenPattern,
    DiscouragedPattern,
    ContentTooShort,
    ContentTooLong,
)

from markitect.validators.link_validator import (
    LinkValidator,
    LinkValidationResult,
    LinkIssue,
    BrokenInternalLink,
    BrokenExternalLink,
    FragmentNotAllowed,
    InvalidEmail,
)

__all__ = [
    # Section validator
    'SectionValidator',
    'SectionValidationResult',
    'SectionIssue',
    'SectionMissing',
    'SectionImproper',
    'SectionDiscouraged',
    # Content validator
    'ContentValidator',
    'ContentValidationResult',
    'ContentIssue',
    'PatternMissing',
    'ForbiddenPattern',
    'DiscouragedPattern',
    'ContentTooShort',
    'ContentTooLong',
    # Link validator
    'LinkValidator',
    'LinkValidationResult',
    'LinkIssue',
    'BrokenInternalLink',
    'BrokenExternalLink',
    'FragmentNotAllowed',
    'InvalidEmail',
]
