export interface IdentityUser { displayName: string; email?: string; id?: string; } export interface IdentityMenuProps { /** Identité connectée (contrôlé). `null` quand anonyme. */ user?: IdentityUser | null; /** État d'authentification (contrôlé : aucun état auth interne). */ isAuthenticated?: boolean; /** * État ouvert du dropdown (optionnellement contrôlé). Si fourni, le * composant suit la valeur du parent ; sinon il gère un état interne. * Reste $bindable pour l'idiome Svelte. */ open?: boolean; /** * Notifié à chaque demande de changement d'état ouvert (pattern * contrôlé/non-contrôlé, aligné React/Vue). Le composant met aussi à jour * `open` (bindable) quand il est non contrôlé. */ onOpenChange?: (open: boolean) => void; /** Notifié au clic « Se connecter ». */ onLogin?: () => void; /** Notifié au clic « Se déconnecter ». */ onLogout?: () => void; /** Lien « Appareils ». */ devicesHref?: string; /** Lien « Paramètres ». */ settingsHref?: string; /** Libellé du bouton de connexion. */ loginLabel?: string; /** Libellé « Appareils ». */ devicesLabel?: string; /** Libellé « Paramètres ». */ settingsLabel?: string; /** Libellé « Se déconnecter ». */ logoutLabel?: string; /** * Variante d'affichage : * - `dropdown` (défaut) : déclencheur + menu flottant (header desktop). * - `accordion` : déclencheur + liste inline (tiroir mobile). */ variant?: "dropdown" | "accordion"; /** * Mode compact : n'affiche que l'avatar (2 initiales) sans nom ni chevron. * Idéal pour les headers où l'espace est limité. */ compact?: boolean; class?: string; } /** Première lettre du displayName, en majuscule (calque de la source). */ export declare function identityInitial(user: IdentityUser | null | undefined): string; /** Deux initiales (1re lettre de chaque mot, jusqu'à 2 mots) pour le mode compact. */ export declare function identityInitials(user: IdentityUser | null | undefined): string; declare const IdentityMenu: import("svelte").Component; type IdentityMenu = ReturnType; export default IdentityMenu; //# sourceMappingURL=IdentityMenu.svelte.d.ts.map