
    Hi                     \    d Z ddlmZmZmZmZmZmZmZm	Z	m
Z
mZmZ ddlmZmZmZ dZg dZy)aF  
Django Hooks - Reusable hook system for Django packages.

A flexible hook system that allows packages to provide extension points for
pre-operation validation and post-operation reactions.

Usage:
    from django_hooks import HookRegistry, HookType, HookContext, register_hook
    
    # Register a hook
    def my_validation(context: HookContext) -> bool:
        if context.metadata.get('amount', 0) > 1000:
            raise HookRejectionError('AMOUNT_TOO_HIGH', 'Amount exceeds limit')
        return True
    
    register_hook('validate_amount', HookType.PRE, my_validation)
   )HookHookContextHookFunctionHookManagerHookRegistryHookTypePostHookErrorclear_hooksget_global_registryregister_hookunregister_hook)HookExecutionErrorHookRejectionErrorHookSystemErrorz1.0.0)r   r   r   r   r   r   r	   r   r   r   r   r   r   r
   N)__doc__corer   r   r   r   r   r   r	   r
   r   r   r   
exceptionsr   r   r   __version____all__     T/home/cursorai/projects/django-wallet-utils/ai-output/hooks/django_hooks/__init__.py<module>r      s6   $     r   