# SPDX-License-Identifier: MPL-2.0
# Copyright (c) 2026 Sulyab Thottungal Valapu

from .client import RdapClient
from .types import (
    # Result wrappers
    AutnumQueryResult,
    DomainQueryResult,
    EntityQueryResult,
    IPNetworkQueryResult,
    NameserverQueryResult,
    # Response models
    AutnumResponse,
    CIDREntry,
    DomainResponse,
    Entity,
    EntityResponse,
    ErrorResponse,
    Event,
    IPNetworkResponse,
    Nameserver,
    NameserverResponse,
    SecureDNS,
    Contact,
    Address,
    RedactedField,
    TypeDescription,
    # Enums
    EventAction,
    NoticeRemarkType,
    RDAPStatus,
    RedactionMethod,
    Role,
    VariantRelation,
    # Error hierarchy
    BootstrapError,
    ParseError,
    QueryError,
    RateLimitedError,
    RDAPError,
    RemoteServerError,
    ResourceAccessDeniedError,
    ResourceDoesNotExist,
)

__all__ = [
    "RdapClient",
    "AutnumQueryResult",
    "DomainQueryResult",
    "EntityQueryResult",
    "IPNetworkQueryResult",
    "NameserverQueryResult",
    "AutnumResponse",
    "CIDREntry",
    "DomainResponse",
    "Entity",
    "EntityResponse",
    "ErrorResponse",
    "Event",
    "IPNetworkResponse",
    "Nameserver",
    "NameserverResponse",
    "SecureDNS",
    "Contact",
    "Address",
    "RedactedField",
    "TypeDescription",
    "EventAction",
    "NoticeRemarkType",
    "RDAPStatus",
    "RedactionMethod",
    "Role",
    "VariantRelation",
    "BootstrapError",
    "ParseError",
    "QueryError",
    "RateLimitedError",
    "RDAPError",
    "RemoteServerError",
    "ResourceAccessDeniedError",
    "ResourceDoesNotExist",
]
