/** * Hook React pour la déconnexion sécurisée. * * Wrape `logout()` avec gestion d'état (loading, error) * et callbacks (onSuccess, onError) pour une intégration UX simple. * * @example * ```tsx * import { useLogout } from '@ollaid/native-sso'; * * const LogoutButton = () => { * const { logout, loading, error } = useLogout({ * onSuccess: () => navigate('/auth/login'), * onError: (err) => toast.error(err.message), * }); * * return ( * * ); * }; * ``` * * @version 2.7.9 */ export interface UseLogoutOptions { /** Callback appelé après une déconnexion réussie (redirection, toast, etc.) */ onSuccess?: () => void; /** Callback appelé en cas d'erreur (notification, log, etc.) */ onError?: (error: Error) => void; } export interface UseLogoutReturn { /** Déclenche la déconnexion complète (double revocation SaaS + IAM) */ logout: () => Promise; /** `true` pendant l'appel de déconnexion */ loading: boolean; /** Message d'erreur si la déconnexion a échoué, `null` sinon */ error: string | null; } export declare const useLogout: (options?: UseLogoutOptions) => UseLogoutReturn;