"""
ASTChunk Extended - AST-based code chunking with dynamic multi-language support.

Fork of astchunk (https://github.com/yilinjz/astchunk) with:
- Dynamic tree-sitter parser discovery (no hardcoded imports)
- 15 built-in languages, auto-discovery for any additional tree-sitter parser
- Optional extras: pip install astchunk-extended[all] / [systems] / [scripting] / [jvm]
"""

from .astchunk_builder import (
    ASTChunkBuilder,
    register_language,
    get_available_languages,
    _LANGUAGE_REGISTRY,
)
from .astchunk import ASTChunk
from .astnode import ASTNode
from .preprocessing import (
    ByteRange,
    IntRange,
    preprocess_nws_count,
    get_nws_count,
    get_nws_count_direct,
    get_nodes_in_brange,
    get_largest_node_in_brange
)

__version__ = "0.2.0"

__all__ = [
    "ASTChunkBuilder",
    "ASTChunk",
    "ASTNode",
    "ByteRange",
    "IntRange",
    "preprocess_nws_count",
    "get_nws_count",
    "get_nws_count_direct",
    "get_nodes_in_brange",
    "get_largest_node_in_brange",
    "register_language",
    "get_available_languages",
]
