"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""

from __future__ import annotations
from dub.types import BaseModel
from dub.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata
import pydantic
from typing import Optional, TypedDict
from typing_extensions import Annotated, NotRequired


class DeleteLinkGlobalsTypedDict(TypedDict):
    workspace_id: NotRequired[str]
    

class DeleteLinkGlobals(BaseModel):
    workspace_id: Annotated[Optional[str], pydantic.Field(deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.", alias="workspaceId"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True))] = None
    

class DeleteLinkRequestTypedDict(TypedDict):
    link_id: str
    r"""The id of the link to delete. You may use either `linkId` (obtained via `/links/info` endpoint) or `externalId` prefixed with `ext_`."""
    

class DeleteLinkRequest(BaseModel):
    link_id: Annotated[str, pydantic.Field(alias="linkId"), FieldMetadata(path=PathParamMetadata(style="simple", explode=False))]
    r"""The id of the link to delete. You may use either `linkId` (obtained via `/links/info` endpoint) or `externalId` prefixed with `ext_`."""
    

class DeleteLinkResponseBodyTypedDict(TypedDict):
    r"""The deleted link"""
    
    id: str
    r"""The ID of the link."""
    

class DeleteLinkResponseBody(BaseModel):
    r"""The deleted link"""
    
    id: str
    r"""The ID of the link."""
    
