"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from outpost_sdk.types import BaseModel
from typing import List
from typing_extensions import TypedDict


class PublishResponseTypedDict(TypedDict):
    id: str
    r"""The ID of the event that was accepted for publishing. This will be the ID provided in the request's `id` field if present, otherwise it's a server-generated UUID."""
    duplicate: bool
    r"""Whether this event was already processed (idempotency hit). If true, the event was not queued again."""
    destination_ids: List[str]
    r"""The IDs of destinations that matched this event. Empty array if no destinations matched."""


class PublishResponse(BaseModel):
    id: str
    r"""The ID of the event that was accepted for publishing. This will be the ID provided in the request's `id` field if present, otherwise it's a server-generated UUID."""

    duplicate: bool
    r"""Whether this event was already processed (idempotency hit). If true, the event was not queued again."""

    destination_ids: List[str]
    r"""The IDs of destinations that matched this event. Empty array if no destinations matched."""
