"""
Reducer models for ONEX NodeReducer operations.

This module provides models for FSM-driven state management:
- ModelReducerInput: Input model for reduction operations
- ModelReducerOutput: Output model with intents for side effects
- ModelReducerContext: Handler context (deliberately excludes time injection)
- ModelIntent: Side effect declaration for pure FSM pattern
- ModelIntentPublishResult: Result of publishing an intent
- ModelConflictResolver: Conflict resolution strategies
- ModelStreamingWindow: Time-based windowing for streaming

"""

from omnibase_core.models.reducer.model_conflict_resolver import ModelConflictResolver
from omnibase_core.models.reducer.model_intent import ModelIntent
from omnibase_core.models.reducer.model_intent_publish_result import (
    ModelIntentPublishResult,
)
from omnibase_core.models.reducer.model_reducer_context import ModelReducerContext
from omnibase_core.models.reducer.model_reducer_input import ModelReducerInput
from omnibase_core.models.reducer.model_reducer_output import ModelReducerOutput
from omnibase_core.models.reducer.model_streaming_window import ModelStreamingWindow

__all__ = [
    "ModelConflictResolver",
    "ModelIntent",
    "ModelIntentPublishResult",
    "ModelReducerContext",
    "ModelReducerInput",
    "ModelReducerOutput",
    "ModelStreamingWindow",
]
