"""
BAP Protocol Types

Pydantic models matching the TypeScript protocol definitions.
"""

from browseragentprotocol.types.protocol import (
    BAP_VERSION,
    ErrorCodes,
    JSONRPCError,
    JSONRPCErrorData,
    JSONRPCErrorResponse,
    JSONRPCMessage,
    JSONRPCNotification,
    JSONRPCRequest,
    JSONRPCResponse,
    JSONRPCSuccessResponse,
    RequestId,
)
from browseragentprotocol.types.selectors import (
    AriaRole,
    BAPSelector,
    CoordinatesSelector,
    CSSSelector,
    LabelSelector,
    PlaceholderSelector,
    RefSelector,
    RoleSelector,
    SemanticSelector,
    TestIdSelector,
    TextSelector,
    XPathSelector,
)
from browseragentprotocol.types.common import (
    AccessibilityNode,
    ActionOptions,
    BoundingBox,
    CheckedState,
    ClickOptions,
    ContentFormat,
    Cookie,
    HttpMethod,
    KeyModifier,
    MouseButton,
    OriginStorage,
    Page,
    PageStatus,
    ResourceType,
    SameSiteAttribute,
    ScreenshotFormat,
    ScreenshotOptions,
    ScreenshotScale,
    ScrollAmount,
    ScrollDirection,
    ScrollOptions,
    StorageState,
    TypeOptions,
    Viewport,
    WaitUntilState,
)
from browseragentprotocol.types.agent import (
    ActionHint,
    AgentActParams,
    AgentActResult,
    AgentExtractParams,
    AgentExtractResult,
    AgentObserveParams,
    AgentObserveResult,
    AnnotationBadgeStyle,
    AnnotationBoxStyle,
    AnnotationLabelFormat,
    AnnotationMapping,
    AnnotationOptions,
    AnnotationStyle,
    ALLOWED_ACT_ACTIONS,
    ElementBounds,
    ElementIdentity,
    ExecutionStep,
    ExtractionMode,
    ExtractionSchema,
    ExtractionSourceRef,
    InteractiveElement,
    ObserveMetadata,
    ObserveScreenshot,
    RefStability,
    StepCondition,
    StepConditionState,
    StepError,
    StepErrorHandling,
    StepResult,
)
from browseragentprotocol.types.methods import (
    ApprovalRequiredParams,
    ApprovalRespondParams,
    ApprovalRespondResult,
    BrowserLaunchParams,
    BrowserLaunchResult,
    ContextCreateParams,
    ContextCreateResult,
    ContextDestroyResult,
    ContextListResult,
    FrameInfo,
    FrameListResult,
    FrameMainResult,
    FrameSwitchParams,
    FrameSwitchResult,
    InitializeParams,
    InitializeResult,
    ObserveAccessibilityResult,
    ObserveAriaSnapshotResult,
    ObserveContentResult,
    ObserveDOMResult,
    ObserveElementResult,
    ObservePDFResult,
    ObserveScreenshotResult,
    PageCreateParams,
    PageNavigateResult,
    StreamCancelResult,
    StreamChunkParams,
    StreamEndParams,
)
from browseragentprotocol.types.events import (
    ConsoleEvent,
    DialogEvent,
    DownloadEvent,
    NetworkEvent,
    PageEvent,
)

__all__ = [
    # Protocol
    "BAP_VERSION",
    "ErrorCodes",
    "JSONRPCError",
    "JSONRPCErrorData",
    "JSONRPCErrorResponse",
    "JSONRPCMessage",
    "JSONRPCNotification",
    "JSONRPCRequest",
    "JSONRPCResponse",
    "JSONRPCSuccessResponse",
    "RequestId",
    # Selectors
    "AriaRole",
    "BAPSelector",
    "CoordinatesSelector",
    "CSSSelector",
    "LabelSelector",
    "PlaceholderSelector",
    "RefSelector",
    "RoleSelector",
    "SemanticSelector",
    "TestIdSelector",
    "TextSelector",
    "XPathSelector",
    # Common
    "AccessibilityNode",
    "ActionOptions",
    "BoundingBox",
    "CheckedState",
    "ClickOptions",
    "ContentFormat",
    "Cookie",
    "HttpMethod",
    "KeyModifier",
    "MouseButton",
    "OriginStorage",
    "Page",
    "PageStatus",
    "ResourceType",
    "SameSiteAttribute",
    "ScreenshotFormat",
    "ScreenshotOptions",
    "ScreenshotScale",
    "ScrollAmount",
    "ScrollDirection",
    "ScrollOptions",
    "StorageState",
    "TypeOptions",
    "Viewport",
    "WaitUntilState",
    # Agent
    "ActionHint",
    "AgentActParams",
    "AgentActResult",
    "AgentExtractParams",
    "AgentExtractResult",
    "AgentObserveParams",
    "AgentObserveResult",
    "AnnotationBadgeStyle",
    "AnnotationBoxStyle",
    "AnnotationLabelFormat",
    "AnnotationMapping",
    "AnnotationOptions",
    "AnnotationStyle",
    "ALLOWED_ACT_ACTIONS",
    "ElementBounds",
    "ElementIdentity",
    "ExecutionStep",
    "ExtractionMode",
    "ExtractionSchema",
    "ExtractionSourceRef",
    "InteractiveElement",
    "ObserveMetadata",
    "ObserveScreenshot",
    "RefStability",
    "StepCondition",
    "StepConditionState",
    "StepError",
    "StepErrorHandling",
    "StepResult",
    # Methods
    "ApprovalRequiredParams",
    "ApprovalRespondParams",
    "ApprovalRespondResult",
    "BrowserLaunchParams",
    "BrowserLaunchResult",
    "ContextCreateParams",
    "ContextCreateResult",
    "ContextDestroyResult",
    "ContextListResult",
    "FrameInfo",
    "FrameListResult",
    "FrameMainResult",
    "FrameSwitchParams",
    "FrameSwitchResult",
    "InitializeParams",
    "InitializeResult",
    "ObserveAccessibilityResult",
    "ObserveAriaSnapshotResult",
    "ObserveContentResult",
    "ObserveDOMResult",
    "ObserveElementResult",
    "ObservePDFResult",
    "ObserveScreenshotResult",
    "PageCreateParams",
    "PageNavigateResult",
    "StreamCancelResult",
    "StreamChunkParams",
    "StreamEndParams",
    # Events
    "ConsoleEvent",
    "DialogEvent",
    "DownloadEvent",
    "NetworkEvent",
    "PageEvent",
]
