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

from __future__ import annotations
from typing_extensions import TypedDict
from unkey.py.types import BaseModel


class V2RatelimitDeleteOverrideRequestBodyTypedDict(TypedDict):
    r"""Deletes an existing rate limit override. This permanently removes a custom rate limit rule, reverting affected identifiers back to the default rate limits for the namespace.

    Use this endpoint when you need to:
    - Remove special rate limit rules that are no longer needed
    - Reset entities back to standard rate limits
    - Clean up temporary overrides
    - Remove outdated tiering or custom limit rules
    - Fix misconfigured overrides

    Once deleted, the override cannot be recovered, and the operation takes effect immediately.
    """

    namespace: str
    r"""The id or name of the namespace containing the override."""
    identifier: str
    r"""The exact identifier pattern of the override to delete. This must match exactly as it was specified when creating the override.

    Important notes:
    - This is case-sensitive and must match exactly
    - Include any wildcards (*) that were part of the original pattern
    - For example, if the override was created for 'premium_*', you must use 'premium_*' here, not a specific ID

    After deletion, any identifiers previously affected by this override will immediately revert to using the default rate limit for the namespace.
    """


class V2RatelimitDeleteOverrideRequestBody(BaseModel):
    r"""Deletes an existing rate limit override. This permanently removes a custom rate limit rule, reverting affected identifiers back to the default rate limits for the namespace.

    Use this endpoint when you need to:
    - Remove special rate limit rules that are no longer needed
    - Reset entities back to standard rate limits
    - Clean up temporary overrides
    - Remove outdated tiering or custom limit rules
    - Fix misconfigured overrides

    Once deleted, the override cannot be recovered, and the operation takes effect immediately.
    """

    namespace: str
    r"""The id or name of the namespace containing the override."""

    identifier: str
    r"""The exact identifier pattern of the override to delete. This must match exactly as it was specified when creating the override.

    Important notes:
    - This is case-sensitive and must match exactly
    - Include any wildcards (*) that were part of the original pattern
    - For example, if the override was created for 'premium_*', you must use 'premium_*' here, not a specific ID

    After deletion, any identifiers previously affected by this override will immediately revert to using the default rate limit for the namespace.
    """
