# generated by datamodel-codegen:
#   filename:  asyncapi.yaml

"""The plans of this package's WebSocket helpers; regenerate them instead of editing."""

from __future__ import annotations

from typing import Final, Never

import models

from .. import _operations
from .._generated import model_bindings
from .._runtime.protocols.references import OperationRef
from .._runtime.protocols.websocket import ChannelPlan

SOCKET_0: Final[ChannelPlan[models.Trade, models.Subscribe]] = ChannelPlan(
    helper_id='market',
    operation=OperationRef(pointer='/channels/market'),
    call=_operations.OPERATION_0,
    fingerprint='cab2f78a5d2490691e4c3dc1aa01e0e9d49f86d7743eb26c4c3c22a5b9f94aac',
    encoder=model_bindings.codec_1,
    decoder=model_bindings.codec_2,
)


SOCKET_1: Final[ChannelPlan[str, Never]] = ChannelPlan(
    helper_id='ticker',
    operation=OperationRef(pointer='/channels/ticker'),
    call=_operations.OPERATION_1,
    fingerprint='1f1c1a8a5c1eacfa751f7539271b43e84cfa608417dac548f70b8286076c4316',
    send_codec='utf8',
    receive_codec='none',
)


SOCKET_2: Final[ChannelPlan[models.AudioStatusPayload, bytes]] = ChannelPlan(
    helper_id='audio',
    operation=OperationRef(pointer='/channels/audio'),
    call=_operations.OPERATION_2,
    fingerprint='dd024ec23cc2efc79cac6778b3b14563fd39a7973685078a5ef7b1f077563a46',
    encoder=model_bindings.codec_3,
    receive_codec='bytes',
    receive_frame='binary',
)


SOCKET_3: Final[ChannelPlan[models.Status, Never]] = ChannelPlan(
    helper_id='status',
    operation=OperationRef(pointer='/channels/status'),
    call=_operations.OPERATION_3,
    fingerprint='1b8010c9f550b24a09e72e1f84b1fbcbcdf186ad031338a61795437e1469f1b9',
    encoder=model_bindings.codec_4,
    receive_codec='none',
)
