import { OrganizationCapableAuthClient } from './use-organization-auth.js'; import { OrganizationSwitcherSuccessEvent } from './use-organization-switcher.js'; export interface OrganizationSwitcherControlProps { /** Controlled / server-selected active organization id. */ activeOrganizationId?: string | null; /** Explicit auth client; falls back to `AuthProvider`. */ authClient?: OrganizationCapableAuthClient | null; className?: string; description?: string; hidePersonalAccount?: boolean; inputVariant?: "primary" | "secondary"; onInvalidate?: () => void | Promise; onSuccess?: (event: OrganizationSwitcherSuccessEvent) => void | Promise; onSwitchingChange?: (isSwitching: boolean) => void; personalAccountDescription?: string; personalAccountLabel?: string; /** * List query tuning. Defaults match typical app-shell usage (no aggressive * refetch on focus/mount). */ queryOptions?: { refetchOnMount?: boolean; refetchOnWindowFocus?: boolean; }; /** Show the create-organization button + dialog. Default true. */ showCreate?: boolean; title?: string; } /** * Connected organization switcher for app shells. * * Wires list/switch/create to Better Auth UI hooks and syncs the session * React Query cache (`["auth", "getSession"]`) so active organization updates * without a full page refresh. Pass `onSuccess` only when Server Components * still need `router.refresh()`. */ export declare function OrganizationSwitcherControl({ activeOrganizationId: controlledActiveOrganizationId, authClient, className, description, hidePersonalAccount, inputVariant, onInvalidate, onSuccess, onSwitchingChange, personalAccountDescription, personalAccountLabel, queryOptions, showCreate, title }: OrganizationSwitcherControlProps): import("react").JSX.Element;