"""Type stubs for the dynojson._dynojson native extension module."""

def marshall(json_str: str) -> str:
    """Convert a regular JSON string to DynamoDB JSON format.

    Args:
        json_str: A valid JSON string.

    Returns:
        A JSON string in DynamoDB format.

    Raises:
        ValueError: If the input is not valid JSON.
    """
    ...

def unmarshall(json_str: str) -> str:
    """Convert a DynamoDB JSON string to regular JSON format.

    Args:
        json_str: A valid DynamoDB JSON string.

    Returns:
        A regular JSON string.

    Raises:
        ValueError: If the input is not valid JSON or contains unknown
            DynamoDB type descriptors.
    """
    ...

def get_property(json_str: str, path: str) -> str:
    """Extract a nested property from a JSON string by dot-separated path.

    Supports numeric array indices (e.g. ``"items.0.name"``) and a single
    ``*`` wildcard to expand all array elements (e.g. ``"items.*.name"``).

    Args:
        json_str: A valid JSON string.
        path: Dot-separated property path.

    Returns:
        A JSON string of the extracted property.

    Raises:
        ValueError: If the path is invalid, the property is not found, or
            the property resolves to a non-object value.
    """
    ...

__version__: str
