# ----------------------------------------------------------------------------
#
#  Welcome to Baml! To use this generated code, please run the following:
#
#  $ pip install baml
#
# ----------------------------------------------------------------------------

# This file was generated by BAML: please do not edit it. Instead, edit the
# BAML files and re-generate this code using: baml-cli generate
# baml-cli is available with the baml package.

import typing

import baml_py
import typing_extensions
from pydantic import BaseModel, ConfigDict, Field

from . import types

StreamStateValueT = typing.TypeVar("StreamStateValueT")


class StreamState(BaseModel, typing.Generic[StreamStateValueT]):
    value: StreamStateValueT
    state: typing_extensions.Literal["Pending", "Incomplete", "Complete"]


# #########################################################################
# Generated classes (3)
# #########################################################################


class ChunkInput(BaseModel):
    chunk_id: typing.Optional[str] = None
    symbol: typing.Optional[str] = None
    node_type: typing.Optional[str] = None
    line_start: typing.Optional[int] = None
    line_end: typing.Optional[int] = None
    content: typing.Optional[str] = None


class ChunkSummary(BaseModel):
    chunk_id: typing.Optional[str] = None
    summary: typing.Optional[str] = None


class FileSummaryResult(BaseModel):
    summaries: typing.List["ChunkSummary"]


# #########################################################################
# Generated type aliases (0)
# #########################################################################
