/** * Right now, a11y in ChatView does one thing: it provides correct ARIA * relationships for tabs. * * Specifically: * - ChatView.Selector is role="tablist". * - Each selector button is role="tab" with: * - unique id * - aria-controls= * - aria-selected * - tabIndex=0 (all tabs tabbable) * - Active panel container is role="tabpanel" with: * - id= * - aria-labelledby= * * The a11y helper module exists to generate and share those tab/panel IDs per * ChatView instance, so tab ↔ tabpanel linkage stays correct and collision-safe * when multiple ChatViews exist. */ export type ChatViewA11yContextValue = { chatViewPanelIds: Record<'channels' | 'threads', string>; chatViewTabIds: Record<'channels' | 'threads', string>; }; export declare const DEFAULT_CHAT_VIEW_A11Y_CONTEXT_VALUE: ChatViewA11yContextValue; export declare const createChatViewA11yContextValue: (chatViewId: string) => ChatViewA11yContextValue; //# sourceMappingURL=ChatView.a11y.utility.d.ts.map