@axcode/axcloud-sdk 0.1.7-dev.bf490b9 → 0.2.0-dev.03fb26c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import React from 'react';
3
2
  import * as _tanstack_react_query from '@tanstack/react-query';
4
3
  import { QueryClient } from '@tanstack/react-query';
@@ -209,6 +208,10 @@ interface User {
209
208
  name: string;
210
209
  firstName?: string;
211
210
  lastName?: string;
211
+ /** Organization-specific title/position. Managed by organization administrators. */
212
+ title?: string | null;
213
+ phone?: string | null;
214
+ address?: string | null;
212
215
  avatar?: string;
213
216
  organizationId: string;
214
217
  sectionId?: string;
@@ -237,6 +240,8 @@ interface Membership {
237
240
  sectionId?: string;
238
241
  section?: Section;
239
242
  role: UserRole;
243
+ /** Organization-specific title/position, separate from the access role. */
244
+ title?: string | null;
240
245
  status: 'active' | 'pending' | 'suspended' | 'expired';
241
246
  joinedAt: string;
242
247
  expiresAt?: string;
@@ -271,7 +276,8 @@ type ContentPublicationState = 'draft' | 'published' | 'archived';
271
276
  type ContentAudience = 'public' | 'internal' | 'members' | 'section';
272
277
  interface ContentItem {
273
278
  id: string;
274
- organizationId: string;
279
+ /** Present when a consumer needs to distinguish organizations outside its configured provider. */
280
+ organizationId?: string;
275
281
  type: string;
276
282
  title: string;
277
283
  slug: string;
@@ -290,6 +296,7 @@ interface ContentItem {
290
296
  };
291
297
  status?: ContentPublicationState;
292
298
  visibility?: ContentPublicationState;
299
+ /** @deprecated Delivery access is derived from publication metadata and the verified visitor. */
293
300
  audience?: ContentAudience;
294
301
  sectionId?: string;
295
302
  tags?: string[];
@@ -323,13 +330,19 @@ interface Page extends ContentItem {
323
330
  template?: string;
324
331
  order?: number;
325
332
  }
326
- interface PaginatedResponse<T> {
333
+ interface ContentListResponse<T> {
327
334
  items: T[];
335
+ count: number;
328
336
  total: number;
329
337
  page: number;
330
338
  pageSize: number;
331
339
  hasMore: boolean;
340
+ nextCursor?: string;
332
341
  }
342
+ /** @deprecated Use ContentListResponse. */
343
+ type PaginatedResponse<T> = ContentListResponse<T>;
344
+ type ContentCollectionType = 'news' | 'pages' | 'events';
345
+ type ContentDetailType = 'news' | 'page' | 'event';
333
346
  interface AxCloudConfig {
334
347
  orgId: string;
335
348
  apiUrl: string;
@@ -353,13 +366,17 @@ interface AxCloudConfig {
353
366
  interface ContentQueryOptions {
354
367
  page?: number;
355
368
  pageSize?: number;
369
+ /** @deprecated Delivery endpoints always return the published snapshot. */
356
370
  status?: ContentPublicationState;
371
+ /** @deprecated Delivery endpoints always return the published snapshot. */
357
372
  visibility?: ContentPublicationState;
358
373
  audience?: ContentAudience;
374
+ /** @deprecated Member section access is derived from the verified token. */
359
375
  sectionId?: string;
360
376
  search?: string;
361
- sortBy?: string;
377
+ sortBy?: 'publishedAt' | 'createdAt' | 'updatedAt' | 'title';
362
378
  sortOrder?: 'asc' | 'desc';
379
+ tags?: string[];
363
380
  /** Return the requested translation when content has language variants. */
364
381
  lang?: string;
365
382
  /** Force public endpoint even when authenticated (for public pages) */
@@ -668,7 +685,10 @@ interface ContentSlotReader {
668
685
  fields: ContentSlotMap;
669
686
  value<T = ContentSlotValue>(key: string, fallback?: T): ContentSlotValue | T;
670
687
  text(key: string, fallback?: string): string;
688
+ /** @deprecated HTML is untrusted. Prefer text(), or unsafeHtml() with sanitization. */
671
689
  html(key: string, fallback?: string): string;
690
+ /** Returns untrusted CMS HTML. Sanitize it before inserting it into the DOM. */
691
+ unsafeHtml(key: string, fallback?: string): string;
672
692
  list(key: string, fallback?: string[]): string[];
673
693
  image(key: string, fallback?: ContentSlotImage): ContentSlotImage | undefined;
674
694
  }
@@ -1011,7 +1031,7 @@ interface AxCloudProviderProps {
1011
1031
  * </AxCloudProvider>
1012
1032
  * ```
1013
1033
  */
1014
- declare function AxCloudProvider({ children, orgId, apiUrl, stage, apiKey, analytics, auth0, queryClient, timeout, }: AxCloudProviderProps): react_jsx_runtime.JSX.Element;
1034
+ declare function AxCloudProvider({ children, orgId, apiUrl, stage, apiKey, analytics, auth0, queryClient: providedQueryClient, timeout, }: AxCloudProviderProps): React.JSX.Element;
1015
1035
 
1016
1036
  interface AxCloudContextValue {
1017
1037
  config: AxCloudConfig;
@@ -1021,6 +1041,14 @@ interface AxCloudContextValue {
1021
1041
  stage: string;
1022
1042
  /** Whether using public API mode (API key, no auth) */
1023
1043
  isPublicMode: boolean;
1044
+ /** Auth0 has completed its initial session check. */
1045
+ isAuthLoading?: boolean;
1046
+ /** Whether the current browser session is authenticated. */
1047
+ isAuthenticated?: boolean;
1048
+ /** Auth0 subject used to isolate member-only query caches. */
1049
+ authSubject?: string;
1050
+ /** Remove identity-bound AxCloud query data before logout or account changes. */
1051
+ clearContentCache?: () => void;
1024
1052
  analytics: AnalyticsRuntime;
1025
1053
  }
1026
1054
  declare function useAxCloudContext(): AxCloudContextValue;
@@ -1114,13 +1142,45 @@ interface Auth0ClientState {
1114
1142
  */
1115
1143
  declare function useAuth(): UseAuthReturn;
1116
1144
 
1145
+ interface UserOrganizationSection {
1146
+ id: string;
1147
+ name: string;
1148
+ role: string;
1149
+ }
1150
+ interface UserOrganizationMembership {
1151
+ role: string;
1152
+ roles: string[];
1153
+ title: string | null;
1154
+ status: string | null;
1155
+ joinedAt: string | null;
1156
+ memberSince: string | null;
1157
+ sectionId: string | null;
1158
+ sectionIds: string[];
1159
+ sections: UserOrganizationSection[];
1160
+ }
1117
1161
  interface UserApiResponse extends User {
1118
- all_org_ids?: string[];
1119
- organization_memberships?: Record<string, {
1120
- role: string;
1121
- sections?: string[];
1122
- }>;
1123
- isSuperAdmin?: boolean;
1162
+ allOrgIds: string[];
1163
+ organizationMemberships: Record<string, UserOrganizationMembership>;
1164
+ effectiveOrganizationId: string | null;
1165
+ isSuperAdmin: boolean;
1166
+ }
1167
+ interface UpdateMyProfileInput {
1168
+ firstName?: string;
1169
+ lastName?: string;
1170
+ phone?: string | null;
1171
+ address?: string | null;
1172
+ }
1173
+ interface MyProfileResponse {
1174
+ user_id: string;
1175
+ email: string;
1176
+ given_name: string;
1177
+ family_name: string;
1178
+ name: string;
1179
+ phone_number: string | null;
1180
+ phone: string | null;
1181
+ address: string | null;
1182
+ location: string | null;
1183
+ updated_at: string;
1124
1184
  }
1125
1185
  /**
1126
1186
  * useUser - Fetch the current authenticated user from AxCloud
@@ -1156,7 +1216,14 @@ declare function useUser(): {
1156
1216
  error: Error | null;
1157
1217
  refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<UserApiResponse, Error>>;
1158
1218
  hasOrgAccess: boolean;
1159
- roleInOrg: string | null;
1219
+ roleInOrg: UserRole | null;
1220
+ organizationMembership: UserOrganizationMembership | null;
1221
+ title: string | null;
1222
+ section: UserOrganizationSection;
1223
+ sections: UserOrganizationSection[];
1224
+ sectionIds: string[];
1225
+ joinedAt: string | null;
1226
+ memberSince: string | null;
1160
1227
  isAuthenticated: boolean;
1161
1228
  role: UserRole | null;
1162
1229
  organizationId: string | null;
@@ -1164,6 +1231,11 @@ declare function useUser(): {
1164
1231
  permissions: string[];
1165
1232
  isSuperAdmin: boolean;
1166
1233
  };
1234
+ /**
1235
+ * Updates the authenticated user's self-service profile fields.
1236
+ * Organization title, email, roles and membership data are intentionally not writable here.
1237
+ */
1238
+ declare function useUpdateMyProfile(): _tanstack_react_query.UseMutationResult<MyProfileResponse, Error, UpdateMyProfileInput, unknown>;
1167
1239
 
1168
1240
  /**
1169
1241
  * Public organization response from /content/public/{orgId}/org
@@ -1248,112 +1320,58 @@ declare function useOrg(): {
1248
1320
  };
1249
1321
 
1250
1322
  /**
1251
- * useNews - Fetch news articles for the organization
1252
- *
1253
- * When authenticated (isPublicMode = false), fetches news visible to members
1254
- * including public, internal, and members-only content.
1323
+ * Fetch published news visible to the current visitor.
1255
1324
  *
1256
- * When not authenticated (isPublicMode = true), fetches only public news.
1257
- *
1258
- * @example
1259
- * ```tsx
1260
- * function NewsPage() {
1261
- * const { data: news, isLoading, isError, error } = useNews()
1262
- *
1263
- * if (isLoading) return <Spinner />
1264
- * if (isError) return <Error message={error.message} />
1265
- *
1266
- * return (
1267
- * <ul>
1268
- * {news.map(item => (
1269
- * <li key={item.id}>{item.title}</li>
1270
- * ))}
1271
- * </ul>
1272
- * )
1273
- * }
1274
- * ```
1275
- *
1276
- * @example
1277
- * // With pagination
1278
- * ```tsx
1279
- * const { data, hasMore, refetch } = useNews({
1280
- * pageSize: 10,
1281
- * status: 'published'
1282
- * })
1283
- * ```
1325
+ * This typed convenience wrapper shares access, cache and pagination behavior
1326
+ * with the generic content hook.
1284
1327
  */
1285
1328
  declare function useNews(options?: ContentQueryOptions): {
1286
1329
  data: NewsItem[];
1330
+ count: number;
1287
1331
  total: number;
1332
+ page: number;
1333
+ pageSize: number;
1288
1334
  hasMore: boolean;
1335
+ nextCursor: string | undefined;
1289
1336
  isLoading: boolean;
1337
+ isFetching: boolean;
1290
1338
  isError: boolean;
1291
1339
  error: Error | null;
1292
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<PaginatedResponse<NewsItem>, Error>>;
1340
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ContentListResponse<NewsItem>, Error>>;
1293
1341
  };
1294
1342
 
1295
1343
  /**
1296
- * useContent - Generic content fetching hook
1297
- *
1298
- * When authenticated (isPublicMode = false), fetches content visible to members
1299
- * including public, internal, and members-only content (for supported types).
1300
- *
1301
- * When not authenticated (isPublicMode = true), fetches only public content.
1302
- *
1303
- * @param contentType - The type of content to fetch (e.g., 'news', 'pages', 'events')
1304
- * @param options - Query options for filtering and pagination
1305
- *
1306
- * @example
1307
- * ```tsx
1308
- * // Fetch pages
1309
- * const { data: pages } = useContent('pages')
1344
+ * Fetch a published content collection.
1310
1345
  *
1311
- * // Fetch custom content type
1312
- * const { data: events } = useContent('events', {
1313
- * status: 'published',
1314
- * sortBy: 'startDate'
1315
- * })
1316
- * ```
1346
+ * AxCloud owns editorial data and publication. The consuming application owns
1347
+ * layout and rendering. Drafts are intentionally never selectable through
1348
+ * this delivery hook.
1317
1349
  */
1318
1350
  declare function useContent<T extends ContentItem = ContentItem>(contentType: string, options?: ContentQueryOptions): {
1319
1351
  data: T[];
1352
+ count: number;
1320
1353
  total: number;
1354
+ page: number;
1355
+ pageSize: number;
1321
1356
  hasMore: boolean;
1357
+ nextCursor: string | undefined;
1322
1358
  isLoading: boolean;
1359
+ isFetching: boolean;
1323
1360
  isError: boolean;
1324
1361
  error: Error | null;
1325
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<PaginatedResponse<T>, Error>>;
1362
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ContentListResponse<T>, Error>>;
1326
1363
  };
1327
1364
  interface ContentItemOptions {
1328
- /** Force public endpoint even when authenticated */
1365
+ /** Force public delivery even when the visitor is authenticated. */
1329
1366
  publicOnly?: boolean;
1330
1367
  /** Return the requested translation when content has language variants. */
1331
1368
  lang?: string;
1332
1369
  }
1333
- /**
1334
- * useContentItem - Fetch a single content item by ID or slug
1335
- *
1336
- * When authenticated (isPublicMode = false), fetches from member endpoint
1337
- * which can return members-only content (for supported types).
1338
- *
1339
- * When not authenticated (isPublicMode = true), fetches only public content.
1340
- *
1341
- * @param contentType - The type of content (e.g., 'news', 'pages', 'events')
1342
- * @param idOrSlug - The content ID or slug
1343
- * @param options - Optional settings
1344
- *
1345
- * @example
1346
- * ```tsx
1347
- * // Fetch a page by slug
1348
- * const { data: page } = useContentItem('pages', 'about-us', { lang: 'sv' })
1349
- *
1350
- * // Force public endpoint
1351
- * const { data: page } = useContentItem('pages', 'about-us', { publicOnly: true })
1352
- * ```
1353
- */
1370
+ /** Fetch one published content item by ID or slug. */
1354
1371
  declare function useContentItem<T extends ContentItem = ContentItem>(contentType: string, idOrSlug: string, options?: ContentItemOptions): {
1355
1372
  data: _tanstack_react_query.NoInfer<T> | null;
1356
1373
  isLoading: boolean;
1374
+ isFetching: boolean;
1357
1375
  isError: boolean;
1358
1376
  error: Error | null;
1359
1377
  refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.NoInfer<T>, Error>>;
@@ -1362,16 +1380,17 @@ interface PageContentState<T extends ContentItem = ContentItem> extends ContentS
1362
1380
  page: T | null;
1363
1381
  data: T | null;
1364
1382
  isLoading: boolean;
1383
+ isFetching: boolean;
1365
1384
  isError: boolean;
1366
1385
  error: Error | null;
1367
1386
  refetch: () => unknown;
1368
1387
  }
1369
1388
  /**
1370
- * usePageContent - Fetch a website page and expose structured template fields.
1389
+ * Fetch a website page and expose structured template fields.
1371
1390
  *
1372
1391
  * Use `page.content`/`page.blocks` for article-like rich text pages. Use
1373
- * `text('hero.title')`, `list('benefits.items')`, etc. for designed website templates
1374
- * where the frontend owns layout and AxCloud owns content.
1392
+ * `text('hero.title')`, `list('benefits.items')`, etc. for designed website
1393
+ * templates where the frontend owns layout and AxCloud owns content.
1375
1394
  */
1376
1395
  declare function usePageContent<T extends ContentItem = ContentItem>(slug: string, options?: ContentItemOptions): PageContentState<T>;
1377
1396
 
@@ -1965,7 +1984,7 @@ interface LoginButtonProps {
1965
1984
  * <LoginButton className="btn btn-primary">Sign In</LoginButton>
1966
1985
  * ```
1967
1986
  */
1968
- declare function LoginButton({ children, returnTo, className, style, }: LoginButtonProps): react_jsx_runtime.JSX.Element;
1987
+ declare function LoginButton({ children, returnTo, className, style, }: LoginButtonProps): React.JSX.Element;
1969
1988
  interface LogoutButtonProps {
1970
1989
  /**
1971
1990
  * Button text
@@ -1992,7 +2011,7 @@ interface LogoutButtonProps {
1992
2011
  * <LogoutButton>Sign Out</LogoutButton>
1993
2012
  * ```
1994
2013
  */
1995
- declare function LogoutButton({ children, returnTo, className, style, }: LogoutButtonProps): react_jsx_runtime.JSX.Element;
2014
+ declare function LogoutButton({ children, returnTo, className, style, }: LogoutButtonProps): React.JSX.Element;
1996
2015
 
1997
2016
  interface ProtectedRouteProps {
1998
2017
  /**
@@ -2060,7 +2079,7 @@ interface ProtectedRouteProps {
2060
2079
  * </ProtectedRoute>
2061
2080
  * ```
2062
2081
  */
2063
- declare function ProtectedRoute({ children, roles, loadingComponent, unauthenticatedComponent, unauthorizedComponent, redirectToLogin, returnTo, }: ProtectedRouteProps): react_jsx_runtime.JSX.Element;
2082
+ declare function ProtectedRoute({ children, roles, loadingComponent, unauthenticatedComponent, unauthorizedComponent, redirectToLogin, returnTo, }: ProtectedRouteProps): React.JSX.Element;
2064
2083
 
2065
2084
  interface ModuleGateProps {
2066
2085
  /**
@@ -2109,7 +2128,7 @@ interface ModuleGateProps {
2109
2128
  * </ModuleGate>
2110
2129
  * ```
2111
2130
  */
2112
- declare function ModuleGate({ module, children, fallback, requireAll, }: ModuleGateProps): react_jsx_runtime.JSX.Element | null;
2131
+ declare function ModuleGate({ module, children, fallback, requireAll, }: ModuleGateProps): React.JSX.Element | null;
2113
2132
  /**
2114
2133
  * useModuleAccess - Hook for programmatic module checks
2115
2134
  *
@@ -2134,6 +2153,31 @@ declare function useModuleAccess(): {
2134
2153
  isLoading: boolean;
2135
2154
  };
2136
2155
 
2156
+ /**
2157
+ * LinkedAccountsList Component
2158
+ *
2159
+ * Ready-to-use component for displaying and managing linked social accounts.
2160
+ * Can be used in customer frontends (SPF "mina sidor" etc.).
2161
+ *
2162
+ * Import the CSS file for default styling:
2163
+ * import '@axcode/axcloud-sdk/styles/linked-accounts.css'
2164
+ *
2165
+ * @example
2166
+ * ```tsx
2167
+ * import { LinkedAccountsList } from '@axcode/axcloud-sdk'
2168
+ * import '@axcode/axcloud-sdk/styles/linked-accounts.css'
2169
+ *
2170
+ * function MinProfil() {
2171
+ * return (
2172
+ * <div>
2173
+ * <h2>Kopplade konton</h2>
2174
+ * <LinkedAccountsList providers={['google', 'microsoft']} />
2175
+ * </div>
2176
+ * )
2177
+ * }
2178
+ * ```
2179
+ */
2180
+
2137
2181
  interface LinkedAccountsListProps {
2138
2182
  /** Which providers to show (default: all available) */
2139
2183
  providers?: ('google' | 'microsoft' | 'apple')[];
@@ -2156,6 +2200,6 @@ interface LinkedAccountsListProps {
2156
2200
  * Uses CSS classes for styling. Import the CSS file for default styles:
2157
2201
  * import '@axcode/axcloud-sdk/styles/linked-accounts.css'
2158
2202
  */
2159
- declare function LinkedAccountsList({ providers, showConnectButtons, className, onUnlink, onLinkInitiated, renderIdentity, renderAvailableProvider, }: LinkedAccountsListProps): react_jsx_runtime.JSX.Element;
2203
+ declare function LinkedAccountsList({ providers, showConnectButtons, className, onUnlink, onLinkInitiated, renderIdentity, renderAvailableProvider, }: LinkedAccountsListProps): React.JSX.Element;
2160
2204
 
2161
- export { type AnalyticsEventData, type AnalyticsEventValue, type AnalyticsPublicConfig, type AnalyticsRuntime, type AnalyticsRuntimeConfig, type Auth0ClientState, type AuthUser, type AvailableProvider, type AxCloudAnalyticsOptions, AxCloudClient, type AxCloudConfig, AxCloudError, type AxCloudErrorCode, type AxCloudModule, AxCloudProvider, type Ballot, type BallotCandidate, type BallotOption, type BallotSeat, type BarnsportActivitiesFilter, type BarnsportActivity, type BarnsportActivityListItem, type BarnsportActivityLocation, type BarnsportActivityResponse, type BarnsportActivitySchedule, type BarnsportInterestSubmissionRequest, type BarnsportInterestSubmissionResponse, type BarnsportListResponse, type BarnsportMunicipality, type BarnsportRegistrationMethod, type BarnsportSitemapResponse, type BarnsportSitemapUrl, type BarnsportSport, type BaseRole, type CastVoteResult, type CodeEligibility, type ContentItem, type ContentQueryOptions, type ContentSlotImage, type ContentSlotMap, type ContentSlotReader, type ContentSlotValue, type CustomRole, type DocumentAudience, type DocumentFolder, type DocumentFolderListResponse, type DocumentItem, type DocumentListResponse, type DocumentQueryOptions, type DocumentSourceProvider, type DocumentStatus, type EmailVerificationResult, type FormStatsResponse, type FormSubmission, type FormSubmissionRecord, type FormSubmissionResponse, type FormSubmissionsResponse, LinkedAccountsList, type LinkedAccountsListProps, type LinkedIdentity, LoginButton, LogoutButton, type MediaItem, type MediaListResponse, type Membership, ModuleGate, type NewsItem, type Organization, type OrganizationBranding, type OrganizationSettings, type Page, type PageContentState, type PaginatedResponse, ProtectedRoute, type Section, type SectionPermissions, type SignedDocumentUrl, type SignedMediaUrl, type SystemRole, type UseAuthReturn, type UseLinkedAccountsReturn, type User, type UserRole, type VoteReceipt, castVote, castVoteWithCode, checkEligibility, checkVotingCode, createClient, createContentSlotReader, createFormHelper, fetchAnalyticsPublicConfig, getBallot, getClient, getContentSlotMap, getVotingReceipt, isAllowedAnalyticsEvent, isAxCloudError, isLocalAnalyticsHostname, sanitizeAnalyticsEventData, sanitizeAnalyticsPath, submitForm, useAnalytics, useAnalyticsRuntime, useAuth, useAvatar, useAxCloudContext, useBarnsportActivities, useBarnsportActivity, useBarnsportMunicipalities, useBarnsportSitemap, useBarnsportSport, useBarnsportSports, useBranding, useCodeBallot, useContent, useContentItem, useDocumentDownload, useDocuments, useFormStats, useForms, useLinkedAccounts, useLogo, useMedia, useMediaList, useMemberDocumentDownload, useMemberDocumentFolders, useMemberDocuments, useModuleAccess, useMySection, useNews, useOrg, usePageContent, useSections, useSubmitBarnsportInterest, useUpdateFormSubmission, useUser, userHasAllPermissions, userHasAnyPermission, userHasPermission };
2205
+ export { type AnalyticsEventData, type AnalyticsEventValue, type AnalyticsPublicConfig, type AnalyticsRuntime, type AnalyticsRuntimeConfig, type Auth0ClientState, type AuthUser, type AvailableProvider, type AxCloudAnalyticsOptions, AxCloudClient, type AxCloudConfig, AxCloudError, type AxCloudErrorCode, type AxCloudModule, AxCloudProvider, type Ballot, type BallotCandidate, type BallotOption, type BallotSeat, type BarnsportActivitiesFilter, type BarnsportActivity, type BarnsportActivityListItem, type BarnsportActivityLocation, type BarnsportActivityResponse, type BarnsportActivitySchedule, type BarnsportInterestSubmissionRequest, type BarnsportInterestSubmissionResponse, type BarnsportListResponse, type BarnsportMunicipality, type BarnsportRegistrationMethod, type BarnsportSitemapResponse, type BarnsportSitemapUrl, type BarnsportSport, type BaseRole, type CastVoteResult, type CodeEligibility, type ContentCollectionType, type ContentDetailType, type ContentItem, type ContentListResponse, type ContentQueryOptions, type ContentSlotImage, type ContentSlotMap, type ContentSlotReader, type ContentSlotValue, type CustomRole, type DocumentAudience, type DocumentFolder, type DocumentFolderListResponse, type DocumentItem, type DocumentListResponse, type DocumentQueryOptions, type DocumentSourceProvider, type DocumentStatus, type EmailVerificationResult, type FormStatsResponse, type FormSubmission, type FormSubmissionRecord, type FormSubmissionResponse, type FormSubmissionsResponse, LinkedAccountsList, type LinkedAccountsListProps, type LinkedIdentity, LoginButton, LogoutButton, type MediaItem, type MediaListResponse, type Membership, ModuleGate, type MyProfileResponse, type NewsItem, type Organization, type OrganizationBranding, type OrganizationSettings, type Page, type PageContentState, type PaginatedResponse, ProtectedRoute, type Section, type SectionPermissions, type SignedDocumentUrl, type SignedMediaUrl, type SystemRole, type UpdateMyProfileInput, type UseAuthReturn, type UseLinkedAccountsReturn, type User, type UserApiResponse, type UserOrganizationMembership, type UserOrganizationSection, type UserRole, type VoteReceipt, castVote, castVoteWithCode, checkEligibility, checkVotingCode, createClient, createContentSlotReader, createFormHelper, fetchAnalyticsPublicConfig, getBallot, getClient, getContentSlotMap, getVotingReceipt, isAllowedAnalyticsEvent, isAxCloudError, isLocalAnalyticsHostname, sanitizeAnalyticsEventData, sanitizeAnalyticsPath, submitForm, useAnalytics, useAnalyticsRuntime, useAuth, useAvatar, useAxCloudContext, useBarnsportActivities, useBarnsportActivity, useBarnsportMunicipalities, useBarnsportSitemap, useBarnsportSport, useBarnsportSports, useBranding, useCodeBallot, useContent, useContentItem, useDocumentDownload, useDocuments, useFormStats, useForms, useLinkedAccounts, useLogo, useMedia, useMediaList, useMemberDocumentDownload, useMemberDocumentFolders, useMemberDocuments, useModuleAccess, useMySection, useNews, useOrg, usePageContent, useSections, useSubmitBarnsportInterest, useUpdateFormSubmission, useUpdateMyProfile, useUser, userHasAllPermissions, userHasAnyPermission, userHasPermission };