"""GraphQL notification module."""

from .resolver import (
    create_notification_channel,
    create_notification_rule,
    delete_notification_channel,
    delete_notification_rule,
    notification_channel,
    notification_channels,
    notification_rule,
    notification_rule_types,
    notification_rules,
    update_notification_channel,
    update_notification_rule,
    validate_notification_channel,
    validate_notification_rule,
)
from .types import (
    CreateNotificationChannelInput,
    CreateNotificationChannelPayload,
    CreateNotificationRuleInput,
    CreateNotificationRulePayload,
    DeleteNotificationChannelInput,
    DeleteNotificationChannelPayload,
    DeleteNotificationRuleInput,
    DeleteNotificationRulePayload,
    NotificationChannel,
    NotificationChannelFilter,
    NotificationChannelOrderBy,
    NotificationRule,
    NotificationRuleFilter,
    NotificationRuleOrderBy,
    UpdateNotificationChannelInput,
    UpdateNotificationChannelPayload,
    UpdateNotificationRuleInput,
    UpdateNotificationRulePayload,
    ValidateNotificationChannelInput,
    ValidateNotificationChannelPayload,
    ValidateNotificationRuleInput,
    ValidateNotificationRulePayload,
)

__all__ = (
    # Types
    "NotificationChannel",
    "NotificationRule",
    "NotificationChannelFilter",
    "NotificationChannelOrderBy",
    "NotificationRuleFilter",
    "NotificationRuleOrderBy",
    "CreateNotificationChannelInput",
    "CreateNotificationChannelPayload",
    "UpdateNotificationChannelInput",
    "UpdateNotificationChannelPayload",
    "DeleteNotificationChannelInput",
    "DeleteNotificationChannelPayload",
    "CreateNotificationRuleInput",
    "CreateNotificationRulePayload",
    "UpdateNotificationRuleInput",
    "UpdateNotificationRulePayload",
    "DeleteNotificationRuleInput",
    "DeleteNotificationRulePayload",
    "ValidateNotificationChannelInput",
    "ValidateNotificationChannelPayload",
    "ValidateNotificationRuleInput",
    "ValidateNotificationRulePayload",
    # Resolvers
    "notification_channel",
    "notification_channels",
    "notification_rule",
    "notification_rules",
    "notification_rule_types",
    "create_notification_channel",
    "update_notification_channel",
    "delete_notification_channel",
    "create_notification_rule",
    "update_notification_rule",
    "delete_notification_rule",
    "validate_notification_channel",
    "validate_notification_rule",
)
