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

from __future__ import annotations
from enum import Enum
from que_media.types import BaseModel
from typing import Union
from typing_extensions import TypeAliasType, TypedDict


class TypeLocal(str, Enum):
    LOCAL = "local"


class SignerRefDtoLocalTypedDict(TypedDict):
    type: TypeLocal
    cert_path: str
    key_path: str


class SignerRefDtoLocal(BaseModel):
    type: TypeLocal

    cert_path: str

    key_path: str


class TypeEnv(str, Enum):
    ENV = "env"


class SignerRefDtoEnvTypedDict(TypedDict):
    type: TypeEnv
    cert_var: str
    key_var: str


class SignerRefDtoEnv(BaseModel):
    type: TypeEnv

    cert_var: str

    key_var: str


SignerRefDtoTypedDict = TypeAliasType(
    "SignerRefDtoTypedDict", Union[SignerRefDtoEnvTypedDict, SignerRefDtoLocalTypedDict]
)
r"""Reference to credentials for signing."""


SignerRefDto = TypeAliasType("SignerRefDto", Union[SignerRefDtoEnv, SignerRefDtoLocal])
r"""Reference to credentials for signing."""
