/** * RoleSelector — a trigger button and a single-select listbox of roles. * * Implements keyboard support per the WAI-ARIA listbox pattern, mirroring the * roving-focus approach in `ui/Dropdown.svelte`: the trigger opens on * ArrowDown/ArrowUp/Enter/Space; the open list moves focus onto the selected * (or first) option; ArrowUp/Down/Home/End move roving focus; Enter/Space pick * the focused option; Escape closes and refocuses the trigger; Tab closes. * Click-outside also dismisses. */ import type { Role } from '@happyvertical/smrt-types'; export interface Props { /** The available roles to choose from. */ roles: Role[]; /** The currently selected role ID. */ value?: string | null; /** Fired when a role is selected, passed the role ID. */ onchange: (roleId: string) => void; /** Blocks opening the role list. */ disabled?: boolean; /** Placeholder text shown when no role is selected. */ placeholder?: string; /** Shows role descriptions in the dropdown options. */ showDescription?: boolean; } declare const RoleSelector: import("svelte").Component; type RoleSelector = ReturnType; export default RoleSelector; //# sourceMappingURL=RoleSelector.svelte.d.ts.map