@donotdev/core 0.0.2 → 0.0.4

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/index.d.ts CHANGED
@@ -2072,1539 +2072,1617 @@ declare const COMMON_TIER_CONFIGS: {
2072
2072
  declare const DEFAULT_SUBSCRIPTION: SubscriptionClaims;
2073
2073
 
2074
2074
  /**
2075
- * @fileoverview Billing Types
2076
- * @description Type definitions for billing domain. Defines billing provider types, checkout modes, billing adapter interfaces, subscription types, and billing-related interfaces.
2077
- *
2078
- * @version 0.0.1
2075
+ * @fileoverview DoNotDev Framework - Unified Types & Constants
2076
+ * @description Single source of truth for all framework types and constants
2077
+ * @package @donotdev/types
2078
+ * @version 0.0.3
2079
2079
  * @since 0.0.1
2080
2080
  * @author AMBROISE PARK Consulting
2081
+ *
2082
+ * @remarks
2083
+ * This file consolidates all framework types and constants to prevent unnecessary splitting
2084
+ * and ensure DRY principles. All magic strings are replaced with typed constants.
2081
2085
  */
2082
2086
 
2083
- /** Billing provider types - Stripe only
2084
- *
2085
- * @version 0.0.1
2086
- * @since 0.0.1
2087
- * @author AMBROISE PARK Consulting
2087
+ /**
2088
+ * Supported platform identifiers
2089
+ * @constant
2088
2090
  */
2089
- type BillingProvider = 'stripe';
2090
- /** Unified checkout mode type used everywhere
2091
- *
2092
- * @version 0.0.1
2093
- * @since 0.0.1
2094
- * @author AMBROISE PARK Consulting
2091
+ declare const PLATFORMS: {
2092
+ readonly VITE: "vite";
2093
+ readonly NEXTJS: "nextjs";
2094
+ readonly UNKNOWN: "unknown";
2095
+ };
2096
+ /**
2097
+ * Platform type derived from PLATFORMS constant
2095
2098
  */
2096
- type CheckoutMode = 'payment' | 'subscription';
2097
- /** Billing adapter interface
2098
- *
2099
- * @version 0.0.1
2100
- * @since 0.0.1
2101
- * @author AMBROISE PARK Consulting
2099
+ type Platform = (typeof PLATFORMS)[keyof typeof PLATFORMS];
2100
+ /**
2101
+ * Supported environment modes
2102
+ * @constant
2102
2103
  */
2103
- interface BillingAdapter {
2104
- createCheckoutSession(request: CreateCheckoutSessionRequest): Promise<CreateCheckoutSessionResponse>;
2105
- getProvider(): Promise<BillingProvider>;
2106
- isAvailable(): Promise<boolean>;
2107
- }
2108
- /** Billing event types
2109
- *
2110
- * @version 0.0.1
2111
- * @since 0.0.1
2112
- * @author AMBROISE PARK Consulting
2104
+ declare const ENVIRONMENTS: {
2105
+ readonly DEVELOPMENT: "development";
2106
+ readonly PRODUCTION: "production";
2107
+ readonly TEST: "test";
2108
+ };
2109
+ /**
2110
+ * Environment mode type derived from ENVIRONMENTS constant
2113
2111
  */
2114
- type BillingEvent = {
2115
- type: 'subscription_updated';
2116
- data: any;
2117
- } | {
2118
- type: 'payment_succeeded';
2119
- data: any;
2120
- } | {
2121
- type: 'payment_failed';
2122
- data: any;
2112
+ type EnvironmentMode = (typeof ENVIRONMENTS)[keyof typeof ENVIRONMENTS];
2113
+ /**
2114
+ * Supported execution contexts
2115
+ * @constant
2116
+ */
2117
+ declare const CONTEXTS: {
2118
+ readonly CLIENT: "client";
2119
+ readonly SERVER: "server";
2120
+ readonly BUILD: "build";
2123
2121
  };
2124
- /** Payment method types
2125
- *
2126
- * @version 0.0.1
2127
- * @since 0.0.1
2128
- * @author AMBROISE PARK Consulting
2122
+ /**
2123
+ * Context type derived from CONTEXTS constant
2129
2124
  */
2130
- type PaymentMethodType = 'card' | 'bank_account' | 'paypal' | 'apple_pay' | 'google_pay';
2131
- /** Payment method interface
2132
- *
2133
- * @version 0.0.1
2134
- * @since 0.0.1
2135
- * @author AMBROISE PARK Consulting
2125
+ type Context = (typeof CONTEXTS)[keyof typeof CONTEXTS];
2126
+ /**
2127
+ * Platform detection confidence thresholds
2128
+ * @constant
2136
2129
  */
2137
- interface PaymentMethod {
2138
- id: string;
2139
- userId: string;
2140
- type: PaymentMethodType;
2141
- isDefault: boolean;
2142
- last4?: string;
2143
- brand?: string;
2144
- expiryMonth?: number;
2145
- expiryYear?: number;
2146
- createdAt: string;
2147
- updatedAt: string;
2148
- }
2149
- /** Billing provider configuration interface
2150
- *
2151
- * @version 0.0.1
2152
- * @since 0.0.1
2153
- * @author AMBROISE PARK Consulting
2130
+ declare const CONFIDENCE_LEVELS: {
2131
+ readonly HIGH: 0.95;
2132
+ readonly MEDIUM: 0.8;
2133
+ readonly LOW: 0.7;
2134
+ readonly MINIMUM: 0.3;
2135
+ };
2136
+ /**
2137
+ * Confidence level type derived from CONFIDENCE_LEVELS constant
2154
2138
  */
2155
- interface BillingProviderConfig {
2156
- provider: BillingProvider;
2157
- apiKey?: string;
2158
- webhookSecret?: string;
2159
- publishableKey?: string;
2160
- testMode?: boolean;
2161
- }
2162
- /** Invoice interface
2139
+ type ConfidenceLevel = (typeof CONFIDENCE_LEVELS)[keyof typeof CONFIDENCE_LEVELS];
2140
+ /**
2141
+ * Unified feature status for all feature packages
2142
+ * Replaces combinatorial boolean flags (initialized, authStateChecked, loading) with single-source-of-truth enum.
2163
2143
  *
2164
- * @version 0.0.1
2165
- * @since 0.0.1
2166
- * @author AMBROISE PARK Consulting
2144
+ * **Status values:**
2145
+ * - `initializing`: Feature is loading/initializing (show skeleton/loader, DON'T redirect yet)
2146
+ * - `ready`: Feature fully operational (check user state, redirect if needed)
2147
+ * - `degraded`: Feature unavailable but app continues (protected routes redirect with error, public routes allow access)
2148
+ * - `error`: Feature encountered recoverable error (protected routes redirect with error)
2149
+ *
2150
+ * **Usage in guards:**
2151
+ * - Protected routes with `degraded` status redirect to auth route with `?error=auth_unavailable`
2152
+ * - Protected routes with `error` status redirect to auth route with `?error=auth_error`
2153
+ * - `initializing` shows loader, doesn't redirect
2154
+ * - `ready` performs normal auth checks
2155
+ *
2156
+ * @example
2157
+ * ```typescript
2158
+ * switch (status) {
2159
+ * case FEATURE_STATUS.INITIALIZING: return <Skeleton />;
2160
+ * case FEATURE_STATUS.DEGRADED:
2161
+ * // Protected route → redirect with error
2162
+ * // Public route → allow access
2163
+ * return authRequired ? <Redirect to="/auth?error=auth_unavailable" /> : children;
2164
+ * case FEATURE_STATUS.READY: return user ? children : <Redirect />;
2165
+ * case FEATURE_STATUS.ERROR: return <ErrorBoundary />;
2166
+ * }
2167
+ * ```
2167
2168
  */
2168
- interface Invoice {
2169
- id: string;
2170
- userId: string;
2171
- amount: number;
2172
- currency: string;
2173
- status: 'draft' | 'open' | 'paid' | 'void' | 'uncollectible';
2174
- createdAt: string;
2175
- dueDate?: string;
2176
- paidAt?: string;
2177
- description?: string;
2178
- items: InvoiceItem[];
2179
- }
2169
+ declare const FEATURE_STATUS: {
2170
+ readonly INITIALIZING: "initializing";
2171
+ readonly READY: "ready";
2172
+ readonly DEGRADED: "degraded";
2173
+ readonly ERROR: "error";
2174
+ };
2180
2175
  /**
2181
- * Invoice item interface
2182
- *
2183
- * @version 0.0.1
2184
- * @since 0.0.1
2185
- * @author AMBROISE PARK Consulting
2176
+ * Feature status type derived from FEATURE_STATUS constant
2186
2177
  */
2187
- interface InvoiceItem {
2188
- id: string;
2189
- description: string;
2190
- amount: number;
2191
- quantity: number;
2192
- unitPrice: number;
2193
- }
2178
+ type FeatureStatus = (typeof FEATURE_STATUS)[keyof typeof FEATURE_STATUS];
2194
2179
  /**
2195
- * Subscription interface
2196
- *
2197
- * @version 0.0.1
2198
- * @since 0.0.1
2199
- * @author AMBROISE PARK Consulting
2180
+ * Supported storage backend types
2181
+ * @constant
2200
2182
  */
2201
- interface Subscription {
2202
- id: string;
2203
- userId: string;
2204
- status: 'active' | 'canceled' | 'incomplete' | 'incomplete_expired' | 'past_due' | 'trialing' | 'unpaid';
2205
- currentPeriodStart: string;
2206
- currentPeriodEnd: string;
2207
- cancelAtPeriodEnd: boolean;
2208
- canceledAt?: string;
2209
- trialStart?: string;
2210
- trialEnd?: string;
2211
- createdAt: string;
2212
- updatedAt: string;
2213
- }
2183
+ declare const STORAGE_TYPES: {
2184
+ readonly LOCAL: "localStorage";
2185
+ readonly SESSION: "sessionStorage";
2186
+ readonly INDEXED_DB: "indexedDB";
2187
+ readonly MEMORY: "memory";
2188
+ };
2214
2189
  /**
2215
- * Stripe webhook event data
2216
- *
2217
- * @version 0.0.1
2218
- * @since 0.0.1
2219
- * @author AMBROISE PARK Consulting
2190
+ * Storage type derived from STORAGE_TYPES constant
2220
2191
  */
2221
- interface StripeWebhookEvent {
2222
- id: string;
2223
- type: string;
2224
- data: {
2225
- object: any;
2226
- };
2227
- created: number;
2228
- livemode: boolean;
2229
- pending_webhooks: number;
2230
- request?: {
2231
- id: string;
2232
- idempotency_key?: string;
2233
- };
2234
- }
2192
+ type StorageType = (typeof STORAGE_TYPES)[keyof typeof STORAGE_TYPES];
2235
2193
  /**
2236
- * Schema for creating checkout session
2194
+ * Storage scope levels for data isolation
2195
+ * @constant
2237
2196
  */
2197
+ declare const STORAGE_SCOPES: {
2198
+ readonly USER: "user";
2199
+ readonly GLOBAL: "global";
2200
+ readonly SESSION: "session";
2201
+ };
2238
2202
  /**
2239
- * Schema for processing payment success
2203
+ * Storage scope type derived from STORAGE_SCOPES constant
2240
2204
  */
2205
+ type StorageScope = (typeof STORAGE_SCOPES)[keyof typeof STORAGE_SCOPES];
2241
2206
  /**
2242
- * Checkout session creation request
2207
+ * PWA display modes
2208
+ * @constant
2243
2209
  */
2210
+ declare const PWA_DISPLAY_MODES: {
2211
+ readonly STANDALONE: "standalone";
2212
+ readonly FULLSCREEN: "fullscreen";
2213
+ readonly MINIMAL_UI: "minimal-ui";
2214
+ readonly BROWSER: "browser";
2215
+ };
2244
2216
  /**
2245
- * Checkout session response
2217
+ * PWA display mode type derived from PWA_DISPLAY_MODES constant
2246
2218
  */
2219
+ type PWADisplayMode = (typeof PWA_DISPLAY_MODES)[keyof typeof PWA_DISPLAY_MODES];
2247
2220
  /**
2248
- * Refresh subscription request
2249
- *
2250
- * @version 0.0.1
2251
- * @since 0.0.1
2252
- * @author AMBROISE PARK Consulting
2221
+ * PWA asset types
2222
+ * @constant
2253
2223
  */
2254
- interface RefreshSubscriptionRequest {
2255
- userId: string;
2256
- }
2224
+ declare const PWA_ASSET_TYPES: {
2225
+ readonly MANIFEST: "manifest";
2226
+ readonly SERVICE_WORKER: "service-worker";
2227
+ readonly ICON: "icon";
2228
+ };
2257
2229
  /**
2258
- * Stripe provider interface for billing operations
2259
- *
2260
- * @version 0.0.1
2261
- * @since 0.0.1
2262
- * @author AMBROISE PARK Consulting
2230
+ * PWA asset type derived from PWA_ASSET_TYPES constant
2263
2231
  */
2264
- interface StripeProvider {
2265
- createCheckoutSession(params: {
2266
- priceId: string;
2267
- userId: string;
2268
- successUrl: string;
2269
- cancelUrl: string;
2270
- metadata?: Record<string, string>;
2271
- customerEmail?: string;
2272
- allowPromotionCodes?: boolean;
2273
- }): Promise<CreateCheckoutSessionResponse>;
2274
- getSubscription(userId: string): Promise<Subscription | null>;
2275
- cancelSubscription(subscriptionId: string): Promise<boolean>;
2276
- updateSubscription(subscriptionId: string, updates: Partial<Subscription>): Promise<Subscription>;
2232
+ type PWAAssetType = (typeof PWA_ASSET_TYPES)[keyof typeof PWA_ASSET_TYPES];
2233
+ /**
2234
+ * Route discovery sources
2235
+ * @constant
2236
+ */
2237
+ declare const ROUTE_SOURCES: {
2238
+ readonly AUTO: "auto-discovery";
2239
+ readonly MANUAL: "manual";
2240
+ readonly HYBRID: "hybrid";
2241
+ };
2242
+ /**
2243
+ * Route source type derived from ROUTE_SOURCES constant
2244
+ */
2245
+ type RouteSource = (typeof ROUTE_SOURCES)[keyof typeof ROUTE_SOURCES];
2246
+ /**
2247
+ * Generic ID type used throughout the application
2248
+ * @description Currently a string, but typed for future flexibility
2249
+ */
2250
+ type ID = string;
2251
+ /**
2252
+ * Generic timestamp format for dates and times
2253
+ * @description ISO 8601 string format (e.g., "2025-01-15T10:30:00.000Z")
2254
+ */
2255
+ type Timestamp = string;
2256
+ /**
2257
+ * Generic pagination options for fetching paginated data
2258
+ */
2259
+ interface PaginationOptions {
2260
+ /** The page number (1-indexed) */
2261
+ page: number;
2262
+ /** The number of items per page */
2263
+ pageSize: number;
2277
2264
  }
2278
2265
  /**
2279
- * Refresh subscription response
2280
- *
2281
- * @version 0.0.1
2282
- * @since 0.0.1
2283
- * @author AMBROISE PARK Consulting
2266
+ * Generic API response format for consistent error handling
2267
+ * @template T - The type of data in the response
2284
2268
  */
2285
- interface RefreshSubscriptionResponse {
2269
+ interface ApiResponse<T> {
2270
+ /** Indicates whether the operation was successful */
2286
2271
  success: boolean;
2287
- subscription: Subscription;
2272
+ /** The data returned by the operation (if successful) */
2273
+ data?: T;
2274
+ /** Error information (if the operation failed) */
2275
+ error?: {
2276
+ /** A machine-readable error code */
2277
+ code: string;
2278
+ /** A human-readable error message */
2279
+ message: string;
2280
+ };
2288
2281
  }
2289
2282
  /**
2290
- * Process payment success request
2291
- *
2292
- * @version 0.0.1
2293
- * @since 0.0.1
2294
- * @author AMBROISE PARK Consulting
2283
+ * Basic user information that can be shared in various contexts
2295
2284
  */
2296
- interface ProcessPaymentSuccessRequest {
2297
- sessionId: string;
2285
+ interface BasicUserInfo {
2286
+ /** The unique identifier for the user */
2287
+ id: ID;
2288
+ /** The user's display name (if available) */
2289
+ displayName?: string | null;
2290
+ /** The user's email address (if available) */
2291
+ email?: string | null;
2292
+ /** The URL of the user's profile photo (if available) */
2293
+ photoURL?: string | null;
2298
2294
  }
2299
2295
  /**
2300
- * Process payment success response
2301
- *
2302
- * @version 0.0.1
2303
- * @since 0.0.1
2304
- * @author AMBROISE PARK Consulting
2296
+ * Basic document with ID and timestamps
2297
+ * @description All entity documents in the system should extend this interface
2305
2298
  */
2306
- interface ProcessPaymentSuccessResponse {
2307
- success: boolean;
2308
- sessionId: string;
2299
+ interface BaseDocument {
2300
+ /** The unique identifier for the document */
2301
+ id: ID;
2302
+ /** When the document was created */
2303
+ createdAt: Timestamp;
2304
+ /** When the document was last updated */
2305
+ updatedAt: Timestamp;
2306
+ /** The ID of the user who created the document (if available) */
2307
+ createdById?: ID;
2308
+ /** The ID of the user who last updated the document (if available) */
2309
+ updatedById?: ID;
2309
2310
  }
2310
2311
  /**
2311
- * Billing-specific error codes for functions
2312
- *
2313
- * @version 0.0.1
2314
- * @since 0.0.1
2315
- * @author AMBROISE PARK Consulting
2312
+ * Page-level authentication requirements
2313
+ * @description Used in PageMeta and NavigationRoute for route-level auth
2316
2314
  */
2317
- type BillingErrorCode = 'unknown' | 'unauthenticated' | 'invalid_request' | 'stripe_error' | 'subscription_not_found' | 'checkout_session_not_found' | 'webhook_verification_failed' | 'rate_limit_exceeded' | 'insufficient_permissions' | 'invalid_webhook_signature';
2315
+ type PageAuth = boolean | {
2316
+ /** Whether authentication is required */
2317
+ required?: boolean;
2318
+ /** Required user role */
2319
+ role?: UserRole;
2320
+ /** Required subscription tier */
2321
+ tier?: SubscriptionTier;
2322
+ /** Custom validation function */
2323
+ validate?: (role: string, tier: string) => boolean;
2324
+ };
2318
2325
  /**
2319
- * Stripe checkout session creation request
2326
+ * Page metadata interface for route discovery and configuration
2320
2327
  *
2321
- * @version 0.0.1
2322
- * @since 0.0.1
2323
- * @author AMBROISE PARK Consulting
2328
+ * @remarks
2329
+ * **ALL PROPERTIES ARE OPTIONAL** - Framework provides smart defaults:
2330
+ *
2331
+ * - `auth`: false (public) by default - YOU must specify auth requirements explicitly
2332
+ * - `title`: Auto-extracted from filename (ShowcasePage → "Showcase")
2333
+ * - `entity`: Auto-extracted from path (pages/showcase/ → "showcase")
2334
+ * - `action`: Auto-extracted from filename patterns (ListPage → "list", FormPage → "form")
2335
+ * - `route`: Only needed for custom paths or dynamic routes like :id, :slug
2336
+ *
2337
+ * @example Simple page (no meta needed):
2338
+ * ```tsx
2339
+ * export function HomePage() {
2340
+ * return <PageContainer>...</PageContainer>;
2341
+ * }
2342
+ * // Framework provides: auth=false, title from home.title, entity=home
2343
+ * ```
2344
+ *
2345
+ * @example Dynamic route (just define the path you want):
2346
+ * ```tsx
2347
+ * export const meta: PageMeta = {
2348
+ * route: '/blog/:slug' // Creates /blog/:slug
2349
+ * };
2350
+ * // Framework provides: auth=false, title from blog.title, entity=blog
2351
+ * ```
2352
+ *
2353
+ * @example Auth-required (developer must be explicit):
2354
+ * ```tsx
2355
+ * export const meta: PageMeta = {
2356
+ * auth: { required: true } // YOU decide what needs auth
2357
+ * };
2358
+ * ```
2324
2359
  */
2325
- interface StripeCheckoutRequest {
2326
- /** Stripe price ID for the subscription plan */
2327
- priceId: string;
2328
- /** User ID for the subscription */
2329
- userId: string;
2330
- /** User email for the subscription */
2331
- userEmail: string;
2332
- /** URL to redirect to on successful payment */
2333
- successUrl: string;
2334
- /** URL to redirect to on cancelled payment */
2335
- cancelUrl: string;
2336
- /** Optional metadata to attach to the session */
2337
- metadata?: Record<string, string>;
2338
- /** Customer email address */
2339
- customerEmail?: string;
2340
- /** Whether to allow promotion codes */
2341
- allowPromotionCodes?: boolean;
2342
- /** Trial period in days */
2343
- trialPeriodDays?: number;
2344
- /** Collection method for the subscription */
2345
- collectionMethod?: 'charge_automatically' | 'send_invoice';
2346
- /** Payment method types to allow */
2347
- paymentMethodTypes?: string[];
2348
- /** Billing address collection requirement */
2349
- billingAddressCollection?: 'auto' | 'required';
2350
- /** Tax ID collection requirement */
2351
- taxIdCollection?: {
2352
- enabled: boolean;
2360
+ interface PageMeta {
2361
+ /** Authentication requirements for this route */
2362
+ auth?: PageAuth;
2363
+ /** Route configuration - just define the exact path you want */
2364
+ route?: string | {
2365
+ params?: string[];
2353
2366
  };
2354
- /** Checkout mode - payment or subscription */
2355
- mode?: CheckoutMode;
2367
+ /** Page title (optional - framework auto-extracts from filename if not provided) */
2368
+ title?: string;
2369
+ /**
2370
+ * Translation/SEO namespace for this page
2371
+ * @description Used for meta tags and translations
2372
+ */
2373
+ namespace?: string;
2374
+ /**
2375
+ * Icon for navigation (optional - framework provides smart defaults)
2376
+ * @description **ONLY lucide-react JSX components** - extracted as component name string at build time for tree-shaking.
2377
+ *
2378
+ * **RESTRICTIONS:**
2379
+ * - ✅ Only: `<Rocket />`, `<ShoppingCart />`, `<Home />` (lucide-react JSX components)
2380
+ * - ❌ NOT: Emojis (`"🚀"`), strings (`"Rocket"`), or custom ReactNode
2381
+ *
2382
+ * **Why?** This is for build-time extraction and tree-shaking. The component name is extracted and stored as a string.
2383
+ *
2384
+ * **For flexible icons** (emojis, strings, custom components), use the `Icon` component directly in your JSX, not in PageMeta.
2385
+ *
2386
+ * @example
2387
+ * ```tsx
2388
+ * import { Rocket } from 'lucide-react';
2389
+ * export const meta: PageMeta = {
2390
+ * icon: <Rocket /> // ✅ Correct - lucide-react component
2391
+ * };
2392
+ * ```
2393
+ *
2394
+ * @example
2395
+ * ```tsx
2396
+ * // ❌ WRONG - Don't use emojis or strings in PageMeta
2397
+ * export const meta: PageMeta = {
2398
+ * icon: "🚀" // ❌ Not supported in PageMeta
2399
+ * };
2400
+ * ```
2401
+ */
2402
+ icon?: ReactNode;
2403
+ /**
2404
+ * Hide from navigation menu (default: false - shows in navigation)
2405
+ * @description Set to true to exclude this route from navigation menus
2406
+ * @default false
2407
+ * @example
2408
+ * ```tsx
2409
+ * export const meta: PageMeta = {
2410
+ * hideFromMenu: true // Won't appear in HeaderNavigation, Sidebar, etc.
2411
+ * };
2412
+ * ```
2413
+ */
2414
+ hideFromMenu?: boolean;
2356
2415
  }
2357
2416
  /**
2358
- * Stripe checkout session response
2417
+ * Route metadata (discovery-generated)
2418
+ * @description Complete route metadata including auto-discovered fields from RouteDiscovery
2419
+ *
2420
+ * This extends PageMeta with fields that are automatically discovered from file paths:
2421
+ * - `entity`: Auto-extracted from path (pages/showcase/ → "showcase")
2422
+ * - `action`: Auto-extracted from filename patterns (ListPage → "list", FormPage → "form")
2423
+ *
2424
+ * These fields are always present in discovered routes but cannot be set in PageMeta.
2359
2425
  *
2360
2426
  * @version 0.0.1
2361
2427
  * @since 0.0.1
2362
2428
  * @author AMBROISE PARK Consulting
2363
2429
  */
2364
- interface StripeCheckoutResponse {
2365
- /** Stripe session ID */
2366
- sessionId: string;
2367
- /** URL to redirect the user to complete payment */
2368
- sessionUrl: string | null;
2369
- /** Whether the session was created successfully */
2370
- success: boolean;
2371
- /** Error message if creation failed */
2372
- error?: string;
2430
+ interface RouteMeta extends PageMeta {
2431
+ /** Entity/domain grouping - auto-discovered from file path (not user-configurable) */
2432
+ entity?: string;
2433
+ /** Action type for route categorization - auto-discovered from filename patterns (not user-configurable) */
2434
+ action?: string | null;
2435
+ /** File path where route was discovered */
2436
+ file?: string;
2373
2437
  }
2374
2438
  /**
2375
- * Stripe subscription data structure
2376
- *
2377
- * @version 0.0.1
2378
- * @since 0.0.1
2379
- * @author AMBROISE PARK Consulting
2439
+ * Navigation route interface
2440
+ * @description Single source of truth for all navigation routes
2380
2441
  */
2381
- interface StripeSubscriptionData {
2382
- /** Stripe subscription ID */
2383
- id: string;
2384
- /** Customer ID */
2385
- customer: string;
2386
- /** Subscription status */
2387
- status: 'incomplete' | 'incomplete_expired' | 'trialing' | 'active' | 'past_due' | 'canceled' | 'unpaid';
2388
- /** Current period start timestamp */
2389
- current_period_start: number;
2390
- /** Current period end timestamp */
2391
- current_period_end: number;
2392
- /** Whether the subscription will cancel at period end */
2393
- cancel_at_period_end: boolean;
2394
- /** When the subscription was canceled */
2395
- canceled_at?: number;
2396
- /** Trial start timestamp */
2397
- trial_start?: number;
2398
- /** Trial end timestamp */
2399
- trial_end?: number;
2400
- /** When the subscription was created */
2401
- created: number;
2402
- /** When the subscription was last updated */
2403
- updated: number;
2404
- /** Subscription items */
2405
- items: {
2406
- data: Array<{
2407
- id: string;
2408
- price: {
2409
- id: string;
2410
- unit_amount: number;
2411
- currency: string;
2412
- recurring: {
2413
- interval: 'day' | 'week' | 'month' | 'year';
2414
- interval_count: number;
2415
- };
2416
- product: string;
2417
- };
2418
- quantity: number;
2419
- }>;
2420
- };
2421
- /** Default payment method */
2422
- default_payment_method?: string;
2423
- /** Collection method */
2424
- collection_method: 'charge_automatically' | 'send_invoice';
2425
- /** Days until due for invoices */
2426
- days_until_due?: number;
2427
- /** Subscription metadata */
2428
- metadata: Record<string, string>;
2442
+ interface NavigationRoute {
2443
+ /** Route path */
2444
+ path: string;
2445
+ /** Display label for navigation */
2446
+ label: string;
2447
+ /** Optional icon identifier or component */
2448
+ icon?: string | ReactNode;
2449
+ /** Whether route is external */
2450
+ external?: boolean;
2451
+ /** Whether route is disabled */
2452
+ disabled?: boolean;
2453
+ /** Badge content for notifications */
2454
+ badge?: string | number;
2455
+ /** Authentication configuration */
2456
+ auth?: PageAuth;
2457
+ /** Route metadata (includes auto-discovered fields) */
2458
+ meta?: RouteMeta;
2459
+ /** Nested child routes */
2460
+ children?: NavigationRoute[];
2429
2461
  }
2430
2462
  /**
2431
- * Stripe payment method data structure
2432
- *
2433
- * @version 0.0.1
2434
- * @since 0.0.1
2435
- * @author AMBROISE PARK Consulting
2463
+ * Storage options for get/set operations
2436
2464
  */
2437
- interface StripePaymentMethod {
2438
- /** Stripe payment method ID */
2439
- id: string;
2440
- /** Customer ID */
2441
- customer: string;
2442
- /** Payment method type */
2443
- type: 'card' | 'bank_account' | 'us_bank_account' | 'sepa_debit' | 'ideal' | 'sofort' | 'bancontact' | 'p24' | 'giropay' | 'eps' | 'alipay' | 'wechat_pay';
2444
- /** Card details (if type is 'card') */
2445
- card?: {
2446
- brand: 'amex' | 'diners' | 'discover' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
2447
- country: string;
2448
- exp_month: number;
2449
- exp_year: number;
2450
- fingerprint: string;
2451
- funding: 'credit' | 'debit' | 'prepaid' | 'unknown';
2452
- last4: string;
2453
- three_d_secure_usage?: {
2454
- supported: boolean;
2455
- };
2456
- wallet?: {
2457
- type: 'amex_express_checkout' | 'apple_pay' | 'google_pay' | 'masterpass' | 'samsung_pay' | 'visa_checkout';
2458
- dynamic_last4?: string;
2459
- };
2460
- };
2461
- /** Bank account details (if type is 'bank_account') */
2462
- bank_account?: {
2463
- account_holder_type: 'individual' | 'company';
2464
- bank_name: string;
2465
- country: string;
2466
- currency: string;
2467
- fingerprint: string;
2468
- last4: string;
2469
- routing_number: string;
2470
- status: 'new' | 'validated' | 'verified' | 'verification_failed' | 'errored';
2471
- };
2472
- /** Billing details */
2473
- billing_details: {
2474
- address?: {
2475
- city?: string;
2476
- country?: string;
2477
- line1?: string;
2478
- line2?: string;
2479
- postal_code?: string;
2480
- state?: string;
2481
- };
2482
- email?: string;
2483
- name?: string;
2484
- phone?: string;
2485
- };
2486
- /** When the payment method was created */
2487
- created: number;
2488
- /** Whether this is the default payment method */
2489
- is_default?: boolean;
2490
- /** Payment method metadata */
2491
- metadata: Record<string, string>;
2465
+ interface StorageOptions {
2466
+ /**
2467
+ * Whether to encrypt the data
2468
+ * @default false for most data, true for sensitive data
2469
+ */
2470
+ encryption?: boolean;
2471
+ /**
2472
+ * Time in seconds after which the data expires
2473
+ * @description Set to 0 for no expiration
2474
+ * @default 0
2475
+ */
2476
+ expiry?: number;
2477
+ /**
2478
+ * Storage scope for data isolation
2479
+ * @description
2480
+ * - 'user': User-specific data, tied to user ID (requires auth)
2481
+ * - 'global': Application-wide data, not tied to specific user
2482
+ * - 'session': Session-only data, cleared on logout/browser close
2483
+ * @default 'user'
2484
+ */
2485
+ scope?: StorageScope;
2492
2486
  }
2493
2487
  /**
2494
- * Stripe invoice data structure
2495
- *
2496
- * @version 0.0.1
2497
- * @since 0.0.1
2498
- * @author AMBROISE PARK Consulting
2488
+ * Storage manager interface
2489
+ * @description Main interface for all storage operations
2499
2490
  */
2500
- interface StripeInvoice {
2501
- /** Stripe invoice ID */
2502
- id: string;
2503
- /** Customer ID */
2504
- customer: string;
2505
- /** Invoice amount */
2506
- amount_due: number;
2507
- /** Invoice amount paid */
2508
- amount_paid: number;
2509
- /** Invoice amount remaining */
2510
- amount_remaining: number;
2511
- /** Currency code */
2512
- currency: string;
2513
- /** Invoice status */
2514
- status: 'draft' | 'open' | 'paid' | 'void' | 'uncollectible';
2515
- /** When the invoice was created */
2516
- created: number;
2517
- /** When the invoice is due */
2518
- due_date?: number;
2519
- /** When the invoice was paid */
2520
- paid_at?: number;
2521
- /** When the invoice was voided */
2522
- voided_at?: number;
2523
- /** Invoice description */
2524
- description?: string;
2525
- /** Invoice line items */
2526
- lines: {
2527
- data: Array<{
2528
- id: string;
2529
- amount: number;
2530
- currency: string;
2531
- description?: string;
2532
- quantity: number;
2533
- unit_amount: number;
2534
- price?: {
2535
- id: string;
2536
- unit_amount: number;
2537
- currency: string;
2538
- recurring?: {
2539
- interval: 'day' | 'week' | 'month' | 'year';
2540
- interval_count: number;
2541
- };
2542
- product: string;
2543
- };
2544
- }>;
2545
- };
2546
- /** Invoice metadata */
2547
- metadata: Record<string, string>;
2548
- /** Subscription ID (if applicable) */
2549
- subscription?: string;
2550
- /** Total amount */
2551
- total: number;
2552
- /** Tax amount */
2553
- tax?: number;
2554
- /** Tax rate applied */
2555
- tax_rate?: number;
2491
+ interface IStorageManager {
2492
+ /**
2493
+ * Retrieve data from storage
2494
+ * @param key - Storage key
2495
+ * @param options - Storage options
2496
+ * @returns Promise resolving to the stored data or null if not found
2497
+ */
2498
+ get<T>(key: string, options?: StorageOptions): Promise<T | null>;
2499
+ /**
2500
+ * Store data
2501
+ * @param key - Storage key
2502
+ * @param value - Data to store
2503
+ * @param options - Storage options
2504
+ * @returns Promise resolving when data is stored
2505
+ */
2506
+ set<T>(key: string, value: T, options?: StorageOptions): Promise<void>;
2507
+ /**
2508
+ * Remove data from storage
2509
+ * @param key - Storage key
2510
+ * @returns Promise resolving when data is removed
2511
+ */
2512
+ remove(key: string): Promise<void>;
2513
+ /**
2514
+ * Clear all data in the specified scope
2515
+ * @param scope - Scope to clear, or all scopes if not specified
2516
+ * @returns Promise resolving when data is cleared
2517
+ */
2518
+ clear(scope?: StorageScope): Promise<void>;
2519
+ /**
2520
+ * Store sensitive data with encryption
2521
+ * @description Shorthand for set() with encryption=true
2522
+ * @param key - Storage key
2523
+ * @param value - Data to store
2524
+ * @param options - Storage options (encryption will be set to true)
2525
+ * @returns Promise resolving when data is stored
2526
+ */
2527
+ setSecure<T>(key: string, value: T, options?: Omit<StorageOptions, 'encryption'>): Promise<void>;
2528
+ /**
2529
+ * Retrieve sensitive data with decryption
2530
+ * @description Shorthand for get() with encryption=true
2531
+ * @param key - Storage key
2532
+ * @param options - Storage options (encryption will be set to true)
2533
+ * @returns Promise resolving to the decrypted data or null if not found
2534
+ */
2535
+ getSecure<T>(key: string, options?: Omit<StorageOptions, 'encryption'>): Promise<T | null>;
2556
2536
  }
2557
2537
  /**
2558
- * Stripe customer data structure
2559
- *
2560
- * @version 0.0.1
2561
- * @since 0.0.1
2562
- * @author AMBROISE PARK Consulting
2538
+ * Storage strategy interface
2539
+ * @description Used by StorageManager to delegate storage operations
2563
2540
  */
2564
- interface StripeCustomer {
2565
- /** Stripe customer ID */
2566
- id: string;
2567
- /** Customer email */
2568
- email?: string;
2569
- /** Customer name */
2570
- name?: string;
2571
- /** Customer description */
2572
- description?: string;
2573
- /** Customer phone */
2574
- phone?: string;
2575
- /** Customer address */
2576
- address?: {
2577
- city?: string;
2578
- country?: string;
2579
- line1?: string;
2580
- line2?: string;
2581
- postal_code?: string;
2582
- state?: string;
2541
+ interface IStorageStrategy {
2542
+ /**
2543
+ * Retrieve data from storage
2544
+ * @param key - Storage key
2545
+ * @param options - Storage options
2546
+ * @returns Promise resolving to the stored data or null if not found
2547
+ */
2548
+ get<T>(key: string, options?: StorageOptions): Promise<T | null>;
2549
+ /**
2550
+ * Store data
2551
+ * @param key - Storage key
2552
+ * @param value - Data to store
2553
+ * @param options - Storage options
2554
+ * @returns Promise resolving when data is stored
2555
+ */
2556
+ set<T>(key: string, value: T, options?: StorageOptions): Promise<void>;
2557
+ /**
2558
+ * Remove data from storage
2559
+ * @param key - Storage key
2560
+ * @returns Promise resolving when data is removed
2561
+ */
2562
+ remove(key: string): Promise<void>;
2563
+ /**
2564
+ * Clear all data in the specified scope
2565
+ * @param scope - Scope to clear, or all scopes if not specified
2566
+ * @returns Promise resolving when data is cleared
2567
+ */
2568
+ clear(scope?: StorageScope): Promise<void>;
2569
+ }
2570
+ /**
2571
+ * i18n Plugin Configuration
2572
+ * @description Configuration for internationalization system
2573
+ */
2574
+ interface I18nPluginConfig {
2575
+ /** Mapping of language → namespace → loader function */
2576
+ mapping: Record<string, Record<string, () => Promise<any>>>;
2577
+ /** List of available language codes */
2578
+ languages: string[];
2579
+ /** List of eagerly loaded namespace identifiers */
2580
+ eager: string[];
2581
+ /** Fallback language code */
2582
+ fallback: string;
2583
+ /** Preloaded translation content (optional) */
2584
+ content?: Record<string, Record<string, any>>;
2585
+ /** Storage configuration */
2586
+ storage: {
2587
+ /** Storage backend type */
2588
+ type: StorageType;
2589
+ /** Storage key prefix */
2590
+ prefix: string;
2591
+ /** Time-to-live in seconds */
2592
+ ttl: number;
2593
+ /** Whether to encrypt stored data */
2594
+ encryption: boolean;
2595
+ /** Maximum storage size in bytes */
2596
+ maxSize: number;
2583
2597
  };
2584
- /** Customer balance */
2585
- balance: number;
2586
- /** Currency code */
2587
- currency?: string;
2588
- /** When the customer was created */
2589
- created: number;
2590
- /** When the customer was last updated */
2591
- updated: number;
2592
- /** Customer metadata */
2593
- metadata: Record<string, string>;
2594
- /** Default payment method */
2595
- default_source?: string;
2596
- /** Whether the customer is deleted */
2597
- deleted?: boolean;
2598
- /** Customer tax IDs */
2599
- tax_ids?: {
2600
- data: Array<{
2601
- id: string;
2602
- type: 'eu_vat' | 'br_cnpj' | 'br_cpf' | 'gb_vat' | 'nz_gst' | 'au_abn' | 'au_arn' | 'in_gst' | 'no_vat' | 'za_vat' | 'ch_vat' | 'mx_rfc' | 'sg_uen' | 'ru_inn' | 'ru_kpp' | 'ca_bn' | 'hk_br' | 'es_cif' | 'tw_vat' | 'th_vat' | 'jp_cn' | 'jp_rn' | 'li_uid' | 'my_itn' | 'us_ein' | 'kr_brn' | 'ca_gst_hst' | 'ca_qst' | 'ca_pst_bc' | 'ca_pst_mb' | 'ca_pst_sk' | 'my_sst' | 'sg_gst' | 'ae_trn' | 'cl_tin' | 'sa_vat' | 'id_npwp' | 'za_vat' | 'mx_rfc' | 'sg_uen' | 'ru_inn' | 'ru_kpp' | 'ca_bn' | 'hk_br' | 'es_cif' | 'tw_vat' | 'th_vat' | 'jp_cn' | 'jp_rn' | 'li_uid' | 'my_itn' | 'us_ein' | 'kr_brn' | 'ca_gst_hst' | 'ca_qst' | 'ca_pst_bc' | 'ca_pst_mb' | 'ca_pst_sk' | 'my_sst' | 'sg_gst' | 'ae_trn' | 'cl_tin' | 'sa_vat' | 'id_npwp';
2603
- value: string;
2604
- }>;
2598
+ /** Performance configuration */
2599
+ performance: {
2600
+ /** Maximum cache size */
2601
+ cacheSize: number;
2602
+ /** Error cache TTL in seconds */
2603
+ errorCacheTTL: number;
2604
+ };
2605
+ /** Discovery manifest metadata */
2606
+ manifest: {
2607
+ /** Total number of translation files */
2608
+ totalFiles: number;
2609
+ /** Total number of namespaces */
2610
+ totalNamespaces: number;
2611
+ /** Total number of languages */
2612
+ totalLanguages: number;
2613
+ /** Number of eagerly loaded namespaces */
2614
+ eagerNamespaces: number;
2615
+ /** ISO timestamp of generation */
2616
+ generatedAt: string;
2617
+ };
2618
+ /** Whether debug mode is enabled */
2619
+ debug: boolean;
2620
+ }
2621
+ /**
2622
+ * Routes Plugin Configuration
2623
+ * @description Complete route configuration populated by discovery system
2624
+ */
2625
+ interface RoutesPluginConfig {
2626
+ /**
2627
+ * Array of discovered routes
2628
+ * @description All routes discovered by the route discovery system
2629
+ */
2630
+ mapping: Array<{
2631
+ /**
2632
+ * URL path for the route (platform-agnostic)
2633
+ * @description The URL path that users see in their browser
2634
+ * @example '/showcase/layouts', '/users/:id', '/dashboard'
2635
+ */
2636
+ path: string;
2637
+ /**
2638
+ * Lazy component reference (Vite-specific)
2639
+ * @description React.lazy() component for code splitting
2640
+ * @example lazy(() => import("/src/pages/showcase/LayoutsPage"))
2641
+ */
2642
+ component: any;
2643
+ /**
2644
+ * Absolute file system path (Next.js-specific)
2645
+ * @description The absolute path to the component file
2646
+ * @example '/src/pages/showcase/LayoutsPage.tsx'
2647
+ */
2648
+ importPath: string;
2649
+ /**
2650
+ * Export name for named exports
2651
+ * @example 'HomePage', 'AboutPage'
2652
+ */
2653
+ exportName?: string;
2654
+ /**
2655
+ * Authentication configuration (platform-agnostic)
2656
+ * @description Defines whether the route requires authentication
2657
+ */
2658
+ auth: PageAuth;
2659
+ /**
2660
+ * Route metadata (platform-agnostic)
2661
+ * @description Additional information about the route, including auto-discovered fields
2662
+ */
2663
+ meta: RouteMeta;
2664
+ }>;
2665
+ /**
2666
+ * Discovery metadata and statistics
2667
+ * @description Information about the route discovery process
2668
+ */
2669
+ manifest: {
2670
+ /** Total number of discovered routes */
2671
+ totalRoutes: number;
2672
+ /** Number of routes requiring authentication */
2673
+ authRequired: number;
2674
+ /** Number of public routes */
2675
+ publicRoutes: number;
2676
+ /** Source of routes (auto-discovery vs manual) */
2677
+ source: RouteSource;
2678
+ /** ISO timestamp when routes were generated */
2679
+ generatedAt: string;
2605
2680
  };
2606
2681
  }
2607
2682
  /**
2608
- * Stripe product data structure
2609
- *
2610
- * @version 0.0.1
2611
- * @since 0.0.1
2612
- * @author AMBROISE PARK Consulting
2683
+ * Themes Plugin Configuration
2684
+ * @description Configuration for theme discovery and management
2613
2685
  */
2614
- interface StripeProduct {
2615
- /** Stripe product ID */
2616
- id: string;
2617
- /** Product name */
2618
- name: string;
2619
- /** Product description */
2620
- description?: string;
2621
- /** Product images */
2622
- images: string[];
2623
- /** Product metadata */
2624
- metadata: Record<string, string>;
2625
- /** Whether the product is active */
2626
- active: boolean;
2627
- /** When the product was created */
2628
- created: number;
2629
- /** When the product was last updated */
2630
- updated: number;
2631
- /** Product type */
2632
- type: 'service' | 'good';
2633
- /** Product URL */
2634
- url?: string;
2635
- /** Product statement descriptor */
2636
- statement_descriptor?: string;
2637
- /** Product unit label */
2638
- unit_label?: string;
2639
- /** Product tax code */
2640
- tax_code?: string;
2686
+ interface ThemesPluginConfig {
2687
+ /** Mapping of theme names to theme configurations */
2688
+ mapping: Record<string, any>;
2689
+ /** Array of discovered themes */
2690
+ discovered: Array<{
2691
+ /** Theme identifier */
2692
+ name: string;
2693
+ /** Human-readable theme name */
2694
+ displayName: string;
2695
+ /** Whether this is a dark theme */
2696
+ isDark: boolean;
2697
+ /** Theme metadata */
2698
+ meta: {
2699
+ /** Icon identifier */
2700
+ icon: string;
2701
+ /** Theme description */
2702
+ description?: string;
2703
+ /** Theme category */
2704
+ category?: string;
2705
+ /** Theme author */
2706
+ author?: string;
2707
+ /** Additional metadata */
2708
+ [key: string]: any;
2709
+ };
2710
+ /** Source file path */
2711
+ source: string;
2712
+ /** Whether theme is essential (cannot be disabled) */
2713
+ essential: boolean;
2714
+ }>;
2715
+ /** CSS custom property variables */
2716
+ variables: Record<string, string>;
2717
+ /** Utility class mappings */
2718
+ utilities: Record<string, Record<string, string>>;
2719
+ /** Discovery manifest metadata */
2720
+ manifest: {
2721
+ /** Total number of discovered themes */
2722
+ totalThemes: number;
2723
+ /** Total number of CSS variables */
2724
+ totalVariables: number;
2725
+ /** Total number of utility classes */
2726
+ totalUtilities: number;
2727
+ /** ISO timestamp of generation */
2728
+ generatedAt: string;
2729
+ };
2641
2730
  }
2642
2731
  /**
2643
- * Stripe price data structure
2644
- *
2645
- * @version 0.0.1
2646
- * @since 0.0.1
2647
- * @author AMBROISE PARK Consulting
2732
+ * Assets Plugin Configuration
2733
+ * @description Configuration for static asset management
2648
2734
  */
2649
- interface StripePrice {
2650
- /** Stripe price ID */
2651
- id: string;
2652
- /** Product ID */
2653
- product: string;
2654
- /** Price amount in cents */
2655
- unit_amount: number;
2656
- /** Currency code */
2657
- currency: string;
2658
- /** Price type */
2659
- type: 'one_time' | 'recurring';
2660
- /** Recurring interval (if type is 'recurring') */
2661
- recurring?: {
2662
- interval: 'day' | 'week' | 'month' | 'year';
2663
- interval_count: number;
2664
- trial_period_days?: number;
2665
- usage_type: 'licensed' | 'metered';
2666
- };
2667
- /** Whether the price is active */
2668
- active: boolean;
2669
- /** When the price was created */
2670
- created: number;
2671
- /** When the price was last updated */
2672
- updated: number;
2673
- /** Price metadata */
2674
- metadata: Record<string, string>;
2675
- /** Price nickname */
2676
- nickname?: string;
2677
- /** Price tiers (for graduated pricing) */
2678
- tiers?: Array<{
2679
- up_to: number | 'inf';
2680
- unit_amount: number;
2681
- flat_amount?: number;
2682
- }>;
2683
- /** Price tiers mode */
2684
- tiers_mode?: 'graduated' | 'volume';
2685
- /** Price transform quantity */
2686
- transform_quantity?: {
2687
- divide_by: number;
2688
- round: 'up' | 'down';
2735
+ interface AssetsPluginConfig {
2736
+ /** Mapping of asset paths to asset metadata */
2737
+ mapping: Record<string, any>;
2738
+ /** SVG content of logo.svg for inline rendering with CSS variable theming */
2739
+ logoSvgContent?: string | null;
2740
+ /** Discovery manifest metadata */
2741
+ manifest: {
2742
+ /** Total number of discovered assets */
2743
+ totalAssets: number;
2744
+ /** ISO timestamp of generation */
2745
+ generatedAt: string;
2689
2746
  };
2690
- /** Price lookup key */
2691
- lookup_key?: string;
2692
2747
  }
2693
2748
  /**
2694
- * Checkout options for Stripe checkout session
2695
- *
2696
- * @version 0.0.1
2697
- * @since 0.0.1
2698
- * @author AMBROISE PARK Consulting
2749
+ * PWA Plugin Configuration
2750
+ * @description Configuration for Progressive Web App features
2699
2751
  */
2700
- interface CheckoutOptions {
2701
- priceId: string;
2702
- mode: 'payment' | 'subscription';
2703
- successUrl?: string;
2704
- cancelUrl?: string;
2705
- metadata?: Record<string, string>;
2706
- allowPromotionCodes?: boolean;
2752
+ interface PWAPluginConfig {
2753
+ /** Array of PWA assets */
2754
+ assets: Array<{
2755
+ /** Type of PWA asset */
2756
+ type: PWAAssetType;
2757
+ /** Asset file path */
2758
+ path: string;
2759
+ /** Asset file size in bytes */
2760
+ size?: number;
2761
+ /** Asset content (for inline assets) */
2762
+ content?: any;
2763
+ /** Asset format (for images) */
2764
+ format?: string;
2765
+ /** Asset purpose (for icons) */
2766
+ purpose?: string;
2767
+ }>;
2768
+ /** PWA manifest configuration */
2769
+ manifest: {
2770
+ /** Application name */
2771
+ name: string;
2772
+ /** Short application name */
2773
+ short_name: string;
2774
+ /** Application description */
2775
+ description: string;
2776
+ /** Start URL */
2777
+ start_url: string;
2778
+ /** Display mode */
2779
+ display: PWADisplayMode;
2780
+ /** Background color */
2781
+ background_color: string;
2782
+ /** Theme color */
2783
+ theme_color: string;
2784
+ /** Array of app icons */
2785
+ icons: Array<{
2786
+ /** Icon source path */
2787
+ src: string;
2788
+ /** Icon sizes (e.g., '192x192') */
2789
+ sizes: string;
2790
+ /** Icon MIME type */
2791
+ type: string;
2792
+ /** Icon purpose (e.g., 'any', 'maskable') */
2793
+ purpose: string;
2794
+ }>;
2795
+ };
2796
+ /** Discovery manifest metadata */
2797
+ manifestInfo: {
2798
+ /** Total number of PWA assets */
2799
+ totalAssets: number;
2800
+ /** Total number of icons */
2801
+ totalIcons: number;
2802
+ /** Whether service worker is present */
2803
+ hasServiceWorker: boolean;
2804
+ /** ISO timestamp of generation */
2805
+ generatedAt: string;
2806
+ };
2707
2807
  }
2708
2808
  /**
2709
- * Billing API type - complete interface for useStripeBilling hook
2809
+ * Features Plugin Configuration
2810
+ * @description Configuration for feature discovery and enablement
2710
2811
  *
2711
- * @version 0.0.1
2712
- * @since 0.0.1
2713
- * @author AMBROISE PARK Consulting
2714
- */
2715
- interface BillingAPI {
2716
- loading: boolean;
2717
- error: string | null;
2718
- checkout: (options: CheckoutOptions) => Promise<StripeCheckoutResponse>;
2719
- cancelSubscription: () => Promise<{
2720
- success: boolean;
2721
- endsAt: string;
2722
- }>;
2723
- changePlan: (newPriceId: string, billingConfigKey: string) => Promise<{
2724
- success: boolean;
2725
- }>;
2726
- refreshStatus: () => Promise<void>;
2727
- openCustomerPortal: (returnUrl?: string) => Promise<void>;
2728
- clearError: () => void;
2729
- isAvailable: boolean;
2812
+ * @remarks
2813
+ * This interface defines the structure for feature discovery data that is populated
2814
+ * at build time and made available at runtime for feature availability checking.
2815
+ *
2816
+ * @example
2817
+ * ```typescript
2818
+ * // Generated by feature discovery system
2819
+ * const featuresConfig: FeaturesPluginConfig = {
2820
+ * available: ['auth', 'billing', 'i18n', 'oauth'],
2821
+ * enabled: ['auth', 'i18n'],
2822
+ * overridden: false
2823
+ * };
2824
+ * ```
2825
+ */
2826
+ interface FeaturesPluginConfig {
2827
+ /**
2828
+ * List of all available features discovered in packages/features/
2829
+ * @example ['auth', 'billing', 'i18n', 'oauth']
2830
+ */
2831
+ available: string[];
2730
2832
  }
2731
2833
  /**
2732
- * Frontend billing configuration type
2834
+ * Complete DoNotDev framework configuration structure
2835
+ * @description Single source of truth for all framework configuration
2733
2836
  *
2734
- * @version 0.0.1
2735
- * @since 0.0.1
2736
- * @author AMBROISE PARK Consulting
2837
+ * @remarks
2838
+ * All discovery plugins add their data to this unified config.
2839
+ * Available at runtime via globalThis._DNDEV_CONFIG_ or window._DNDEV_CONFIG_
2737
2840
  */
2738
- type StripeFrontConfig = v.InferOutput<typeof StripeFrontConfigSchema>;
2841
+ interface DndevFrameworkConfig {
2842
+ /** Framework platform (Vite or Next.js) */
2843
+ platform: Platform;
2844
+ /** Current environment mode */
2845
+ mode: EnvironmentMode;
2846
+ /** Framework version */
2847
+ version: string;
2848
+ /** Execution context */
2849
+ context: Context;
2850
+ /** Unix timestamp of config generation */
2851
+ timestamp: number;
2852
+ /** i18n plugin configuration (optional) */
2853
+ i18n?: I18nPluginConfig;
2854
+ /** Routes plugin configuration (optional) */
2855
+ routes?: RoutesPluginConfig;
2856
+ /** Themes plugin configuration (optional) */
2857
+ themes?: ThemesPluginConfig;
2858
+ /** Assets plugin configuration (optional) */
2859
+ assets?: AssetsPluginConfig;
2860
+ /** PWA plugin configuration (optional) */
2861
+ pwa?: PWAPluginConfig;
2862
+ /** Features plugin configuration (optional) */
2863
+ features?: FeaturesPluginConfig;
2864
+ /** Environment variables (VITE_* variables from .env files) */
2865
+ env?: Record<string, string>;
2866
+ }
2867
+ declare global {
2868
+ interface Window {
2869
+ /**
2870
+ * Single source of truth for all DoNotDev framework configuration
2871
+ * @description Set by platform detection and populated by discovery plugins
2872
+ */
2873
+ _DNDEV_CONFIG_?: DndevFrameworkConfig;
2874
+ /**
2875
+ * Global store registry for singleton Zustand stores
2876
+ * @description Ensures single instance across code-split chunks
2877
+ */
2878
+ _DNDEV_STORES_?: Record<string, any>;
2879
+ /** PapaParse CSV parser library (external) */
2880
+ Papa?: {
2881
+ parse: (input: string | File, config?: any) => any;
2882
+ unparse: (data: any[], config?: any) => string;
2883
+ };
2884
+ /** Sentry error tracking library (external) */
2885
+ Sentry?: {
2886
+ captureException: (error: unknown) => void;
2887
+ withScope: (callback: (scope: any) => void) => void;
2888
+ getClient: () => {
2889
+ close: () => Promise<boolean>;
2890
+ } | undefined;
2891
+ };
2892
+ /**
2893
+ * Google APIs (Maps, One Tap, etc.)
2894
+ * @description Unified type for all Google services
2895
+ */
2896
+ google?: {
2897
+ /** Google Maps API */
2898
+ maps?: {
2899
+ places?: {
2900
+ AutocompleteService: new () => any;
2901
+ PlacesService: new (element: HTMLElement) => any;
2902
+ PlacesServiceStatus: {
2903
+ OK: string;
2904
+ };
2905
+ };
2906
+ [key: string]: any;
2907
+ };
2908
+ /** Google Identity Services (One Tap) */
2909
+ accounts?: {
2910
+ id?: {
2911
+ initialize: (config: any) => void;
2912
+ prompt: (callback?: (notification: any) => void) => void;
2913
+ cancel?: () => void;
2914
+ disableAutoSelect?: () => void;
2915
+ };
2916
+ };
2917
+ [key: string]: any;
2918
+ };
2919
+ /** FedCM Identity Credential API */
2920
+ IdentityCredential?: any;
2921
+ }
2922
+ namespace NodeJS {
2923
+ interface ProcessEnv {
2924
+ /** Serialized framework config for Node.js environment */
2925
+ _DNDEV_CONFIG_?: string;
2926
+ }
2927
+ }
2928
+ namespace globalThis {
2929
+ /** Framework configuration (same as window._DNDEV_CONFIG_) */
2930
+ var _DNDEV_CONFIG_: DndevFrameworkConfig | undefined;
2931
+ /** Store registry (same as window._DNDEV_STORES_) */
2932
+ var _DNDEV_STORES_: Record<string, any> | undefined;
2933
+ var __vite_plugin_react_preamble_installed__: boolean | undefined;
2934
+ var __vite_hmr_port: number | undefined;
2935
+ var __NEXT_DATA__: any | undefined;
2936
+ var __REACT_QUERY_CLIENT__: any | undefined;
2937
+ var __REACT_QUERY_PROVIDER__: any | undefined;
2938
+ var __DNDEV_DEBUG: boolean | undefined;
2939
+ var __FIREBASE_DEMO_MODE__: boolean | undefined;
2940
+ var getAvailableThemes: (() => string[]) | undefined;
2941
+ }
2942
+ }
2943
+
2739
2944
  /**
2740
- * Backend billing configuration type with hooks
2945
+ * @fileoverview Billing Types
2946
+ * @description Type definitions for billing domain. Defines billing provider types, checkout modes, billing adapter interfaces, subscription types, and billing-related interfaces.
2947
+ * Uses unified FeatureStatus enum for feature state management.
2741
2948
  *
2742
- * @version 0.0.1
2949
+ * @version 0.0.3
2743
2950
  * @since 0.0.1
2744
2951
  * @author AMBROISE PARK Consulting
2745
2952
  */
2746
- type StripeBackConfig = {
2747
- [key: string]: {
2748
- type: 'StripePayment' | 'StripeSubscription';
2749
- name: string;
2750
- price: number;
2751
- currency: string;
2752
- priceId: string;
2753
- tier: string;
2754
- duration: string;
2755
- description?: string;
2756
- metadata?: Record<string, string>;
2757
- allowPromotionCodes?: boolean;
2758
- onPurchaseSuccess?: (userId: string, metadata: Record<string, string>) => Promise<void>;
2759
- onPurchaseFailure?: (userId: string, metadata: Record<string, string>) => Promise<void>;
2760
- onSubscriptionCreated?: (userId: string, metadata: Record<string, string>) => Promise<void>;
2761
- onSubscriptionRenewed?: (userId: string, metadata: Record<string, string>) => Promise<void>;
2762
- onSubscriptionCancelled?: (userId: string, metadata: Record<string, string>) => Promise<void>;
2763
- onPaymentFailed?: (userId: string, metadata: Record<string, string>) => Promise<void>;
2764
- };
2765
- };
2766
- /**
2767
- * Stripe configuration interface
2953
+
2954
+ /** Billing provider types - Stripe only
2768
2955
  *
2769
2956
  * @version 0.0.1
2770
2957
  * @since 0.0.1
2771
2958
  * @author AMBROISE PARK Consulting
2772
2959
  */
2773
- interface StripeConfig {
2774
- /** Stripe secret key for server-side operations */
2775
- secretKey: string;
2776
- /** Stripe publishable key for client-side operations */
2777
- publishableKey: string;
2778
- /** Stripe webhook secret for webhook verification */
2779
- webhookSecret: string;
2780
- /** Whether to use test mode */
2781
- testMode: boolean;
2782
- /** API version to use */
2783
- apiVersion?: string;
2784
- /** Maximum number of retries for failed requests */
2785
- maxNetworkRetries?: number;
2786
- /** Request timeout in milliseconds */
2787
- timeout?: number;
2788
- /** Additional configuration options */
2789
- options?: {
2790
- /** Whether to enable telemetry */
2791
- telemetry?: boolean;
2792
- /** App information */
2793
- appInfo?: {
2794
- name: string;
2795
- version: string;
2796
- url?: string;
2797
- };
2798
- };
2799
- }
2800
-
2801
- /**
2802
- * @fileoverview DoNotDev Framework - Unified Types & Constants
2803
- * @description Single source of truth for all framework types and constants
2804
- * @package @donotdev/types
2805
- * @version 0.0.1
2806
- * @since 0.0.1
2807
- * @author AMBROISE PARK Consulting
2960
+ type BillingProvider = 'stripe';
2961
+ /** Unified checkout mode type used everywhere
2808
2962
  *
2809
- * @remarks
2810
- * This file consolidates all framework types and constants to prevent unnecessary splitting
2811
- * and ensure DRY principles. All magic strings are replaced with typed constants.
2812
- */
2813
-
2814
- /**
2815
- * Supported platform identifiers
2816
- * @constant
2817
- */
2818
- declare const PLATFORMS: {
2819
- readonly VITE: "vite";
2820
- readonly NEXTJS: "nextjs";
2821
- readonly UNKNOWN: "unknown";
2822
- };
2823
- /**
2824
- * Platform type derived from PLATFORMS constant
2825
- */
2826
- type Platform = (typeof PLATFORMS)[keyof typeof PLATFORMS];
2827
- /**
2828
- * Supported environment modes
2829
- * @constant
2830
- */
2831
- declare const ENVIRONMENTS: {
2832
- readonly DEVELOPMENT: "development";
2833
- readonly PRODUCTION: "production";
2834
- readonly TEST: "test";
2835
- };
2836
- /**
2837
- * Environment mode type derived from ENVIRONMENTS constant
2838
- */
2839
- type EnvironmentMode = (typeof ENVIRONMENTS)[keyof typeof ENVIRONMENTS];
2840
- /**
2841
- * Supported execution contexts
2842
- * @constant
2843
- */
2844
- declare const CONTEXTS: {
2845
- readonly CLIENT: "client";
2846
- readonly SERVER: "server";
2847
- readonly BUILD: "build";
2848
- };
2849
- /**
2850
- * Context type derived from CONTEXTS constant
2851
- */
2852
- type Context = (typeof CONTEXTS)[keyof typeof CONTEXTS];
2853
- /**
2854
- * Platform detection confidence thresholds
2855
- * @constant
2856
- */
2857
- declare const CONFIDENCE_LEVELS: {
2858
- readonly HIGH: 0.95;
2859
- readonly MEDIUM: 0.8;
2860
- readonly LOW: 0.7;
2861
- readonly MINIMUM: 0.3;
2862
- };
2863
- /**
2864
- * Confidence level type derived from CONFIDENCE_LEVELS constant
2865
- */
2866
- type ConfidenceLevel = (typeof CONFIDENCE_LEVELS)[keyof typeof CONFIDENCE_LEVELS];
2867
- /**
2868
- * Supported storage backend types
2869
- * @constant
2870
- */
2871
- declare const STORAGE_TYPES: {
2872
- readonly LOCAL: "localStorage";
2873
- readonly SESSION: "sessionStorage";
2874
- readonly INDEXED_DB: "indexedDB";
2875
- readonly MEMORY: "memory";
2876
- };
2877
- /**
2878
- * Storage type derived from STORAGE_TYPES constant
2879
- */
2880
- type StorageType = (typeof STORAGE_TYPES)[keyof typeof STORAGE_TYPES];
2881
- /**
2882
- * Storage scope levels for data isolation
2883
- * @constant
2884
- */
2885
- declare const STORAGE_SCOPES: {
2886
- readonly USER: "user";
2887
- readonly GLOBAL: "global";
2888
- readonly SESSION: "session";
2889
- };
2890
- /**
2891
- * Storage scope type derived from STORAGE_SCOPES constant
2892
- */
2893
- type StorageScope = (typeof STORAGE_SCOPES)[keyof typeof STORAGE_SCOPES];
2894
- /**
2895
- * PWA display modes
2896
- * @constant
2963
+ * @version 0.0.1
2964
+ * @since 0.0.1
2965
+ * @author AMBROISE PARK Consulting
2897
2966
  */
2898
- declare const PWA_DISPLAY_MODES: {
2899
- readonly STANDALONE: "standalone";
2900
- readonly FULLSCREEN: "fullscreen";
2901
- readonly MINIMAL_UI: "minimal-ui";
2902
- readonly BROWSER: "browser";
2903
- };
2904
- /**
2905
- * PWA display mode type derived from PWA_DISPLAY_MODES constant
2967
+ type CheckoutMode = 'payment' | 'subscription';
2968
+ /** Billing adapter interface
2969
+ *
2970
+ * @version 0.0.1
2971
+ * @since 0.0.1
2972
+ * @author AMBROISE PARK Consulting
2906
2973
  */
2907
- type PWADisplayMode = (typeof PWA_DISPLAY_MODES)[keyof typeof PWA_DISPLAY_MODES];
2908
- /**
2909
- * PWA asset types
2910
- * @constant
2974
+ interface BillingAdapter {
2975
+ createCheckoutSession(request: CreateCheckoutSessionRequest): Promise<CreateCheckoutSessionResponse>;
2976
+ getProvider(): Promise<BillingProvider>;
2977
+ isAvailable(): Promise<boolean>;
2978
+ }
2979
+ /** Billing event types
2980
+ *
2981
+ * @version 0.0.1
2982
+ * @since 0.0.1
2983
+ * @author AMBROISE PARK Consulting
2911
2984
  */
2912
- declare const PWA_ASSET_TYPES: {
2913
- readonly MANIFEST: "manifest";
2914
- readonly SERVICE_WORKER: "service-worker";
2915
- readonly ICON: "icon";
2985
+ type BillingEvent = {
2986
+ type: 'subscription_updated';
2987
+ data: any;
2988
+ } | {
2989
+ type: 'payment_succeeded';
2990
+ data: any;
2991
+ } | {
2992
+ type: 'payment_failed';
2993
+ data: any;
2916
2994
  };
2917
- /**
2918
- * PWA asset type derived from PWA_ASSET_TYPES constant
2995
+ /** Payment method types
2996
+ *
2997
+ * @version 0.0.1
2998
+ * @since 0.0.1
2999
+ * @author AMBROISE PARK Consulting
2919
3000
  */
2920
- type PWAAssetType = (typeof PWA_ASSET_TYPES)[keyof typeof PWA_ASSET_TYPES];
2921
- /**
2922
- * Route discovery sources
2923
- * @constant
3001
+ type PaymentMethodType = 'card' | 'bank_account' | 'paypal' | 'apple_pay' | 'google_pay';
3002
+ /** Payment method interface
3003
+ *
3004
+ * @version 0.0.1
3005
+ * @since 0.0.1
3006
+ * @author AMBROISE PARK Consulting
2924
3007
  */
2925
- declare const ROUTE_SOURCES: {
2926
- readonly AUTO: "auto-discovery";
2927
- readonly MANUAL: "manual";
2928
- readonly HYBRID: "hybrid";
2929
- };
2930
- /**
2931
- * Route source type derived from ROUTE_SOURCES constant
3008
+ interface PaymentMethod {
3009
+ id: string;
3010
+ userId: string;
3011
+ type: PaymentMethodType;
3012
+ isDefault: boolean;
3013
+ last4?: string;
3014
+ brand?: string;
3015
+ expiryMonth?: number;
3016
+ expiryYear?: number;
3017
+ createdAt: string;
3018
+ updatedAt: string;
3019
+ }
3020
+ /** Billing provider configuration interface
3021
+ *
3022
+ * @version 0.0.1
3023
+ * @since 0.0.1
3024
+ * @author AMBROISE PARK Consulting
2932
3025
  */
2933
- type RouteSource = (typeof ROUTE_SOURCES)[keyof typeof ROUTE_SOURCES];
2934
- /**
2935
- * Generic ID type used throughout the application
2936
- * @description Currently a string, but typed for future flexibility
3026
+ interface BillingProviderConfig {
3027
+ provider: BillingProvider;
3028
+ apiKey?: string;
3029
+ webhookSecret?: string;
3030
+ publishableKey?: string;
3031
+ testMode?: boolean;
3032
+ }
3033
+ /** Invoice interface
3034
+ *
3035
+ * @version 0.0.1
3036
+ * @since 0.0.1
3037
+ * @author AMBROISE PARK Consulting
2937
3038
  */
2938
- type ID = string;
3039
+ interface Invoice {
3040
+ id: string;
3041
+ userId: string;
3042
+ amount: number;
3043
+ currency: string;
3044
+ status: 'draft' | 'open' | 'paid' | 'void' | 'uncollectible';
3045
+ createdAt: string;
3046
+ dueDate?: string;
3047
+ paidAt?: string;
3048
+ description?: string;
3049
+ items: InvoiceItem[];
3050
+ }
2939
3051
  /**
2940
- * Generic timestamp format for dates and times
2941
- * @description ISO 8601 string format (e.g., "2025-01-15T10:30:00.000Z")
3052
+ * Invoice item interface
3053
+ *
3054
+ * @version 0.0.1
3055
+ * @since 0.0.1
3056
+ * @author AMBROISE PARK Consulting
2942
3057
  */
2943
- type Timestamp = string;
3058
+ interface InvoiceItem {
3059
+ id: string;
3060
+ description: string;
3061
+ amount: number;
3062
+ quantity: number;
3063
+ unitPrice: number;
3064
+ }
2944
3065
  /**
2945
- * Generic pagination options for fetching paginated data
3066
+ * Subscription interface
3067
+ *
3068
+ * @version 0.0.1
3069
+ * @since 0.0.1
3070
+ * @author AMBROISE PARK Consulting
2946
3071
  */
2947
- interface PaginationOptions {
2948
- /** The page number (1-indexed) */
2949
- page: number;
2950
- /** The number of items per page */
2951
- pageSize: number;
3072
+ interface Subscription {
3073
+ id: string;
3074
+ userId: string;
3075
+ status: 'active' | 'canceled' | 'incomplete' | 'incomplete_expired' | 'past_due' | 'trialing' | 'unpaid';
3076
+ currentPeriodStart: string;
3077
+ currentPeriodEnd: string;
3078
+ cancelAtPeriodEnd: boolean;
3079
+ canceledAt?: string;
3080
+ trialStart?: string;
3081
+ trialEnd?: string;
3082
+ createdAt: string;
3083
+ updatedAt: string;
2952
3084
  }
2953
3085
  /**
2954
- * Generic API response format for consistent error handling
2955
- * @template T - The type of data in the response
3086
+ * Stripe webhook event data
3087
+ *
3088
+ * @version 0.0.1
3089
+ * @since 0.0.1
3090
+ * @author AMBROISE PARK Consulting
2956
3091
  */
2957
- interface ApiResponse<T> {
2958
- /** Indicates whether the operation was successful */
2959
- success: boolean;
2960
- /** The data returned by the operation (if successful) */
2961
- data?: T;
2962
- /** Error information (if the operation failed) */
2963
- error?: {
2964
- /** A machine-readable error code */
2965
- code: string;
2966
- /** A human-readable error message */
2967
- message: string;
3092
+ interface StripeWebhookEvent {
3093
+ id: string;
3094
+ type: string;
3095
+ data: {
3096
+ object: any;
3097
+ };
3098
+ created: number;
3099
+ livemode: boolean;
3100
+ pending_webhooks: number;
3101
+ request?: {
3102
+ id: string;
3103
+ idempotency_key?: string;
2968
3104
  };
2969
3105
  }
2970
3106
  /**
2971
- * Basic user information that can be shared in various contexts
3107
+ * Schema for creating checkout session
2972
3108
  */
2973
- interface BasicUserInfo {
2974
- /** The unique identifier for the user */
2975
- id: ID;
2976
- /** The user's display name (if available) */
2977
- displayName?: string | null;
2978
- /** The user's email address (if available) */
2979
- email?: string | null;
2980
- /** The URL of the user's profile photo (if available) */
2981
- photoURL?: string | null;
2982
- }
2983
3109
  /**
2984
- * Basic document with ID and timestamps
2985
- * @description All entity documents in the system should extend this interface
3110
+ * Schema for processing payment success
2986
3111
  */
2987
- interface BaseDocument {
2988
- /** The unique identifier for the document */
2989
- id: ID;
2990
- /** When the document was created */
2991
- createdAt: Timestamp;
2992
- /** When the document was last updated */
2993
- updatedAt: Timestamp;
2994
- /** The ID of the user who created the document (if available) */
2995
- createdById?: ID;
2996
- /** The ID of the user who last updated the document (if available) */
2997
- updatedById?: ID;
2998
- }
2999
3112
  /**
3000
- * Page-level authentication requirements
3001
- * @description Used in PageMeta and NavigationRoute for route-level auth
3113
+ * Checkout session creation request
3002
3114
  */
3003
- type PageAuth = boolean | {
3004
- /** Whether authentication is required */
3005
- required?: boolean;
3006
- /** Required user role */
3007
- role?: UserRole;
3008
- /** Required subscription tier */
3009
- tier?: SubscriptionTier;
3010
- /** Custom validation function */
3011
- validate?: (role: string, tier: string) => boolean;
3012
- };
3013
3115
  /**
3014
- * Page metadata interface for route discovery and configuration
3015
- *
3016
- * @remarks
3017
- * **ALL PROPERTIES ARE OPTIONAL** - Framework provides smart defaults:
3018
- *
3019
- * - `auth`: false (public) by default - YOU must specify auth requirements explicitly
3020
- * - `title`: Auto-extracted from filename (ShowcasePage → "Showcase")
3021
- * - `entity`: Auto-extracted from path (pages/showcase/ → "showcase")
3022
- * - `action`: Auto-extracted from filename patterns (ListPage → "list", FormPage → "form")
3023
- * - `route`: Only needed for custom paths or dynamic routes like :id, :slug
3024
- *
3025
- * @example Simple page (no meta needed):
3026
- * ```tsx
3027
- * export function HomePage() {
3028
- * return <PageContainer>...</PageContainer>;
3029
- * }
3030
- * // Framework provides: auth=false, title from home.title, entity=home
3031
- * ```
3032
- *
3033
- * @example Dynamic route (just define the path you want):
3034
- * ```tsx
3035
- * export const meta: PageMeta = {
3036
- * route: '/blog/:slug' // Creates /blog/:slug
3037
- * };
3038
- * // Framework provides: auth=false, title from blog.title, entity=blog
3039
- * ```
3040
- *
3041
- * @example Auth-required (developer must be explicit):
3042
- * ```tsx
3043
- * export const meta: PageMeta = {
3044
- * auth: { required: true } // YOU decide what needs auth
3045
- * };
3046
- * ```
3116
+ * Checkout session response
3117
+ */
3118
+ /**
3119
+ * Refresh subscription request
3120
+ *
3121
+ * @version 0.0.1
3122
+ * @since 0.0.1
3123
+ * @author AMBROISE PARK Consulting
3047
3124
  */
3048
- interface PageMeta {
3049
- /** Authentication requirements for this route */
3050
- auth?: PageAuth;
3051
- /** Route configuration - just define the exact path you want */
3052
- route?: string | {
3053
- params?: string[];
3054
- };
3055
- /** Page title (optional - framework auto-extracts from filename if not provided) */
3056
- title?: string;
3057
- /**
3058
- * Translation/SEO namespace for this page
3059
- * @description Used for meta tags and translations
3060
- */
3061
- namespace?: string;
3062
- /**
3063
- * Icon for navigation (optional - framework provides smart defaults)
3064
- * @description **ONLY lucide-react JSX components** - extracted as component name string at build time for tree-shaking.
3065
- *
3066
- * **RESTRICTIONS:**
3067
- * - ✅ Only: `<Rocket />`, `<ShoppingCart />`, `<Home />` (lucide-react JSX components)
3068
- * - ❌ NOT: Emojis (`"🚀"`), strings (`"Rocket"`), or custom ReactNode
3069
- *
3070
- * **Why?** This is for build-time extraction and tree-shaking. The component name is extracted and stored as a string.
3071
- *
3072
- * **For flexible icons** (emojis, strings, custom components), use the `Icon` component directly in your JSX, not in PageMeta.
3073
- *
3074
- * @example
3075
- * ```tsx
3076
- * import { Rocket } from 'lucide-react';
3077
- * export const meta: PageMeta = {
3078
- * icon: <Rocket /> // ✅ Correct - lucide-react component
3079
- * };
3080
- * ```
3081
- *
3082
- * @example
3083
- * ```tsx
3084
- * // ❌ WRONG - Don't use emojis or strings in PageMeta
3085
- * export const meta: PageMeta = {
3086
- * icon: "🚀" // ❌ Not supported in PageMeta
3087
- * };
3088
- * ```
3089
- */
3090
- icon?: ReactNode;
3091
- /**
3092
- * Hide from navigation menu (default: false - shows in navigation)
3093
- * @description Set to true to exclude this route from navigation menus
3094
- * @default false
3095
- * @example
3096
- * ```tsx
3097
- * export const meta: PageMeta = {
3098
- * hideFromMenu: true // Won't appear in HeaderNavigation, Sidebar, etc.
3099
- * };
3100
- * ```
3101
- */
3102
- hideFromMenu?: boolean;
3125
+ interface RefreshSubscriptionRequest {
3126
+ userId: string;
3103
3127
  }
3104
3128
  /**
3105
- * Route metadata (discovery-generated)
3106
- * @description Complete route metadata including auto-discovered fields from RouteDiscovery
3129
+ * Stripe provider interface for billing operations
3107
3130
  *
3108
- * This extends PageMeta with fields that are automatically discovered from file paths:
3109
- * - `entity`: Auto-extracted from path (pages/showcase/ → "showcase")
3110
- * - `action`: Auto-extracted from filename patterns (ListPage → "list", FormPage → "form")
3131
+ * @version 0.0.1
3132
+ * @since 0.0.1
3133
+ * @author AMBROISE PARK Consulting
3134
+ */
3135
+ interface StripeProvider {
3136
+ createCheckoutSession(params: {
3137
+ priceId: string;
3138
+ userId: string;
3139
+ successUrl: string;
3140
+ cancelUrl: string;
3141
+ metadata?: Record<string, string>;
3142
+ customerEmail?: string;
3143
+ allowPromotionCodes?: boolean;
3144
+ }): Promise<CreateCheckoutSessionResponse>;
3145
+ getSubscription(userId: string): Promise<Subscription | null>;
3146
+ cancelSubscription(subscriptionId: string): Promise<boolean>;
3147
+ updateSubscription(subscriptionId: string, updates: Partial<Subscription>): Promise<Subscription>;
3148
+ }
3149
+ /**
3150
+ * Refresh subscription response
3111
3151
  *
3112
- * These fields are always present in discovered routes but cannot be set in PageMeta.
3152
+ * @version 0.0.1
3153
+ * @since 0.0.1
3154
+ * @author AMBROISE PARK Consulting
3155
+ */
3156
+ interface RefreshSubscriptionResponse {
3157
+ success: boolean;
3158
+ subscription: Subscription;
3159
+ }
3160
+ /**
3161
+ * Process payment success request
3113
3162
  *
3114
3163
  * @version 0.0.1
3115
3164
  * @since 0.0.1
3116
3165
  * @author AMBROISE PARK Consulting
3117
3166
  */
3118
- interface RouteMeta extends PageMeta {
3119
- /** Entity/domain grouping - auto-discovered from file path (not user-configurable) */
3120
- entity?: string;
3121
- /** Action type for route categorization - auto-discovered from filename patterns (not user-configurable) */
3122
- action?: string | null;
3123
- /** File path where route was discovered */
3124
- file?: string;
3167
+ interface ProcessPaymentSuccessRequest {
3168
+ sessionId: string;
3125
3169
  }
3126
3170
  /**
3127
- * Navigation route interface
3128
- * @description Single source of truth for all navigation routes
3171
+ * Process payment success response
3172
+ *
3173
+ * @version 0.0.1
3174
+ * @since 0.0.1
3175
+ * @author AMBROISE PARK Consulting
3129
3176
  */
3130
- interface NavigationRoute {
3131
- /** Route path */
3132
- path: string;
3133
- /** Display label for navigation */
3134
- label: string;
3135
- /** Optional icon identifier or component */
3136
- icon?: string | ReactNode;
3137
- /** Whether route is external */
3138
- external?: boolean;
3139
- /** Whether route is disabled */
3140
- disabled?: boolean;
3141
- /** Badge content for notifications */
3142
- badge?: string | number;
3143
- /** Authentication configuration */
3144
- auth?: PageAuth;
3145
- /** Route metadata (includes auto-discovered fields) */
3146
- meta?: RouteMeta;
3147
- /** Nested child routes */
3148
- children?: NavigationRoute[];
3177
+ interface ProcessPaymentSuccessResponse {
3178
+ success: boolean;
3179
+ sessionId: string;
3149
3180
  }
3150
3181
  /**
3151
- * Storage options for get/set operations
3182
+ * Billing-specific error codes for functions
3183
+ *
3184
+ * @version 0.0.1
3185
+ * @since 0.0.1
3186
+ * @author AMBROISE PARK Consulting
3152
3187
  */
3153
- interface StorageOptions {
3154
- /**
3155
- * Whether to encrypt the data
3156
- * @default false for most data, true for sensitive data
3157
- */
3158
- encryption?: boolean;
3159
- /**
3160
- * Time in seconds after which the data expires
3161
- * @description Set to 0 for no expiration
3162
- * @default 0
3163
- */
3164
- expiry?: number;
3165
- /**
3166
- * Storage scope for data isolation
3167
- * @description
3168
- * - 'user': User-specific data, tied to user ID (requires auth)
3169
- * - 'global': Application-wide data, not tied to specific user
3170
- * - 'session': Session-only data, cleared on logout/browser close
3171
- * @default 'user'
3172
- */
3173
- scope?: StorageScope;
3188
+ type BillingErrorCode = 'unknown' | 'unauthenticated' | 'invalid_request' | 'stripe_error' | 'subscription_not_found' | 'checkout_session_not_found' | 'webhook_verification_failed' | 'rate_limit_exceeded' | 'insufficient_permissions' | 'invalid_webhook_signature';
3189
+ /**
3190
+ * Stripe checkout session creation request
3191
+ *
3192
+ * @version 0.0.1
3193
+ * @since 0.0.1
3194
+ * @author AMBROISE PARK Consulting
3195
+ */
3196
+ interface StripeCheckoutRequest {
3197
+ /** Stripe price ID for the subscription plan */
3198
+ priceId: string;
3199
+ /** User ID for the subscription */
3200
+ userId: string;
3201
+ /** User email for the subscription */
3202
+ userEmail: string;
3203
+ /** URL to redirect to on successful payment */
3204
+ successUrl: string;
3205
+ /** URL to redirect to on cancelled payment */
3206
+ cancelUrl: string;
3207
+ /** Optional metadata to attach to the session */
3208
+ metadata?: Record<string, string>;
3209
+ /** Customer email address */
3210
+ customerEmail?: string;
3211
+ /** Whether to allow promotion codes */
3212
+ allowPromotionCodes?: boolean;
3213
+ /** Trial period in days */
3214
+ trialPeriodDays?: number;
3215
+ /** Collection method for the subscription */
3216
+ collectionMethod?: 'charge_automatically' | 'send_invoice';
3217
+ /** Payment method types to allow */
3218
+ paymentMethodTypes?: string[];
3219
+ /** Billing address collection requirement */
3220
+ billingAddressCollection?: 'auto' | 'required';
3221
+ /** Tax ID collection requirement */
3222
+ taxIdCollection?: {
3223
+ enabled: boolean;
3224
+ };
3225
+ /** Checkout mode - payment or subscription */
3226
+ mode?: CheckoutMode;
3174
3227
  }
3175
3228
  /**
3176
- * Storage manager interface
3177
- * @description Main interface for all storage operations
3229
+ * Stripe checkout session response
3230
+ *
3231
+ * @version 0.0.1
3232
+ * @since 0.0.1
3233
+ * @author AMBROISE PARK Consulting
3178
3234
  */
3179
- interface IStorageManager {
3180
- /**
3181
- * Retrieve data from storage
3182
- * @param key - Storage key
3183
- * @param options - Storage options
3184
- * @returns Promise resolving to the stored data or null if not found
3185
- */
3186
- get<T>(key: string, options?: StorageOptions): Promise<T | null>;
3187
- /**
3188
- * Store data
3189
- * @param key - Storage key
3190
- * @param value - Data to store
3191
- * @param options - Storage options
3192
- * @returns Promise resolving when data is stored
3193
- */
3194
- set<T>(key: string, value: T, options?: StorageOptions): Promise<void>;
3195
- /**
3196
- * Remove data from storage
3197
- * @param key - Storage key
3198
- * @returns Promise resolving when data is removed
3199
- */
3200
- remove(key: string): Promise<void>;
3201
- /**
3202
- * Clear all data in the specified scope
3203
- * @param scope - Scope to clear, or all scopes if not specified
3204
- * @returns Promise resolving when data is cleared
3205
- */
3206
- clear(scope?: StorageScope): Promise<void>;
3207
- /**
3208
- * Store sensitive data with encryption
3209
- * @description Shorthand for set() with encryption=true
3210
- * @param key - Storage key
3211
- * @param value - Data to store
3212
- * @param options - Storage options (encryption will be set to true)
3213
- * @returns Promise resolving when data is stored
3214
- */
3215
- setSecure<T>(key: string, value: T, options?: Omit<StorageOptions, 'encryption'>): Promise<void>;
3216
- /**
3217
- * Retrieve sensitive data with decryption
3218
- * @description Shorthand for get() with encryption=true
3219
- * @param key - Storage key
3220
- * @param options - Storage options (encryption will be set to true)
3221
- * @returns Promise resolving to the decrypted data or null if not found
3222
- */
3223
- getSecure<T>(key: string, options?: Omit<StorageOptions, 'encryption'>): Promise<T | null>;
3235
+ interface StripeCheckoutResponse {
3236
+ /** Stripe session ID */
3237
+ sessionId: string;
3238
+ /** URL to redirect the user to complete payment */
3239
+ sessionUrl: string | null;
3240
+ /** Whether the session was created successfully */
3241
+ success: boolean;
3242
+ /** Error message if creation failed */
3243
+ error?: string;
3224
3244
  }
3225
3245
  /**
3226
- * Storage strategy interface
3227
- * @description Used by StorageManager to delegate storage operations
3246
+ * Stripe subscription data structure
3247
+ *
3248
+ * @version 0.0.1
3249
+ * @since 0.0.1
3250
+ * @author AMBROISE PARK Consulting
3228
3251
  */
3229
- interface IStorageStrategy {
3230
- /**
3231
- * Retrieve data from storage
3232
- * @param key - Storage key
3233
- * @param options - Storage options
3234
- * @returns Promise resolving to the stored data or null if not found
3235
- */
3236
- get<T>(key: string, options?: StorageOptions): Promise<T | null>;
3237
- /**
3238
- * Store data
3239
- * @param key - Storage key
3240
- * @param value - Data to store
3241
- * @param options - Storage options
3242
- * @returns Promise resolving when data is stored
3243
- */
3244
- set<T>(key: string, value: T, options?: StorageOptions): Promise<void>;
3245
- /**
3246
- * Remove data from storage
3247
- * @param key - Storage key
3248
- * @returns Promise resolving when data is removed
3249
- */
3250
- remove(key: string): Promise<void>;
3251
- /**
3252
- * Clear all data in the specified scope
3253
- * @param scope - Scope to clear, or all scopes if not specified
3254
- * @returns Promise resolving when data is cleared
3255
- */
3256
- clear(scope?: StorageScope): Promise<void>;
3252
+ interface StripeSubscriptionData {
3253
+ /** Stripe subscription ID */
3254
+ id: string;
3255
+ /** Customer ID */
3256
+ customer: string;
3257
+ /** Subscription status */
3258
+ status: 'incomplete' | 'incomplete_expired' | 'trialing' | 'active' | 'past_due' | 'canceled' | 'unpaid';
3259
+ /** Current period start timestamp */
3260
+ current_period_start: number;
3261
+ /** Current period end timestamp */
3262
+ current_period_end: number;
3263
+ /** Whether the subscription will cancel at period end */
3264
+ cancel_at_period_end: boolean;
3265
+ /** When the subscription was canceled */
3266
+ canceled_at?: number;
3267
+ /** Trial start timestamp */
3268
+ trial_start?: number;
3269
+ /** Trial end timestamp */
3270
+ trial_end?: number;
3271
+ /** When the subscription was created */
3272
+ created: number;
3273
+ /** When the subscription was last updated */
3274
+ updated: number;
3275
+ /** Subscription items */
3276
+ items: {
3277
+ data: Array<{
3278
+ id: string;
3279
+ price: {
3280
+ id: string;
3281
+ unit_amount: number;
3282
+ currency: string;
3283
+ recurring: {
3284
+ interval: 'day' | 'week' | 'month' | 'year';
3285
+ interval_count: number;
3286
+ };
3287
+ product: string;
3288
+ };
3289
+ quantity: number;
3290
+ }>;
3291
+ };
3292
+ /** Default payment method */
3293
+ default_payment_method?: string;
3294
+ /** Collection method */
3295
+ collection_method: 'charge_automatically' | 'send_invoice';
3296
+ /** Days until due for invoices */
3297
+ days_until_due?: number;
3298
+ /** Subscription metadata */
3299
+ metadata: Record<string, string>;
3257
3300
  }
3258
3301
  /**
3259
- * i18n Plugin Configuration
3260
- * @description Configuration for internationalization system
3302
+ * Stripe payment method data structure
3303
+ *
3304
+ * @version 0.0.1
3305
+ * @since 0.0.1
3306
+ * @author AMBROISE PARK Consulting
3261
3307
  */
3262
- interface I18nPluginConfig {
3263
- /** Mapping of language namespace → loader function */
3264
- mapping: Record<string, Record<string, () => Promise<any>>>;
3265
- /** List of available language codes */
3266
- languages: string[];
3267
- /** List of eagerly loaded namespace identifiers */
3268
- eager: string[];
3269
- /** Fallback language code */
3270
- fallback: string;
3271
- /** Preloaded translation content (optional) */
3272
- content?: Record<string, Record<string, any>>;
3273
- /** Storage configuration */
3274
- storage: {
3275
- /** Storage backend type */
3276
- type: StorageType;
3277
- /** Storage key prefix */
3278
- prefix: string;
3279
- /** Time-to-live in seconds */
3280
- ttl: number;
3281
- /** Whether to encrypt stored data */
3282
- encryption: boolean;
3283
- /** Maximum storage size in bytes */
3284
- maxSize: number;
3308
+ interface StripePaymentMethod {
3309
+ /** Stripe payment method ID */
3310
+ id: string;
3311
+ /** Customer ID */
3312
+ customer: string;
3313
+ /** Payment method type */
3314
+ type: 'card' | 'bank_account' | 'us_bank_account' | 'sepa_debit' | 'ideal' | 'sofort' | 'bancontact' | 'p24' | 'giropay' | 'eps' | 'alipay' | 'wechat_pay';
3315
+ /** Card details (if type is 'card') */
3316
+ card?: {
3317
+ brand: 'amex' | 'diners' | 'discover' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
3318
+ country: string;
3319
+ exp_month: number;
3320
+ exp_year: number;
3321
+ fingerprint: string;
3322
+ funding: 'credit' | 'debit' | 'prepaid' | 'unknown';
3323
+ last4: string;
3324
+ three_d_secure_usage?: {
3325
+ supported: boolean;
3326
+ };
3327
+ wallet?: {
3328
+ type: 'amex_express_checkout' | 'apple_pay' | 'google_pay' | 'masterpass' | 'samsung_pay' | 'visa_checkout';
3329
+ dynamic_last4?: string;
3330
+ };
3285
3331
  };
3286
- /** Performance configuration */
3287
- performance: {
3288
- /** Maximum cache size */
3289
- cacheSize: number;
3290
- /** Error cache TTL in seconds */
3291
- errorCacheTTL: number;
3332
+ /** Bank account details (if type is 'bank_account') */
3333
+ bank_account?: {
3334
+ account_holder_type: 'individual' | 'company';
3335
+ bank_name: string;
3336
+ country: string;
3337
+ currency: string;
3338
+ fingerprint: string;
3339
+ last4: string;
3340
+ routing_number: string;
3341
+ status: 'new' | 'validated' | 'verified' | 'verification_failed' | 'errored';
3292
3342
  };
3293
- /** Discovery manifest metadata */
3294
- manifest: {
3295
- /** Total number of translation files */
3296
- totalFiles: number;
3297
- /** Total number of namespaces */
3298
- totalNamespaces: number;
3299
- /** Total number of languages */
3300
- totalLanguages: number;
3301
- /** Number of eagerly loaded namespaces */
3302
- eagerNamespaces: number;
3303
- /** ISO timestamp of generation */
3304
- generatedAt: string;
3343
+ /** Billing details */
3344
+ billing_details: {
3345
+ address?: {
3346
+ city?: string;
3347
+ country?: string;
3348
+ line1?: string;
3349
+ line2?: string;
3350
+ postal_code?: string;
3351
+ state?: string;
3352
+ };
3353
+ email?: string;
3354
+ name?: string;
3355
+ phone?: string;
3305
3356
  };
3306
- /** Whether debug mode is enabled */
3307
- debug: boolean;
3357
+ /** When the payment method was created */
3358
+ created: number;
3359
+ /** Whether this is the default payment method */
3360
+ is_default?: boolean;
3361
+ /** Payment method metadata */
3362
+ metadata: Record<string, string>;
3308
3363
  }
3309
3364
  /**
3310
- * Routes Plugin Configuration
3311
- * @description Complete route configuration populated by discovery system
3365
+ * Stripe invoice data structure
3366
+ *
3367
+ * @version 0.0.1
3368
+ * @since 0.0.1
3369
+ * @author AMBROISE PARK Consulting
3312
3370
  */
3313
- interface RoutesPluginConfig {
3314
- /**
3315
- * Array of discovered routes
3316
- * @description All routes discovered by the route discovery system
3317
- */
3318
- mapping: Array<{
3319
- /**
3320
- * URL path for the route (platform-agnostic)
3321
- * @description The URL path that users see in their browser
3322
- * @example '/showcase/layouts', '/users/:id', '/dashboard'
3323
- */
3324
- path: string;
3325
- /**
3326
- * Lazy component reference (Vite-specific)
3327
- * @description React.lazy() component for code splitting
3328
- * @example lazy(() => import("/src/pages/showcase/LayoutsPage"))
3329
- */
3330
- component: any;
3331
- /**
3332
- * Absolute file system path (Next.js-specific)
3333
- * @description The absolute path to the component file
3334
- * @example '/src/pages/showcase/LayoutsPage.tsx'
3335
- */
3336
- importPath: string;
3337
- /**
3338
- * Export name for named exports
3339
- * @example 'HomePage', 'AboutPage'
3340
- */
3341
- exportName?: string;
3342
- /**
3343
- * Authentication configuration (platform-agnostic)
3344
- * @description Defines whether the route requires authentication
3345
- */
3346
- auth: PageAuth;
3347
- /**
3348
- * Route metadata (platform-agnostic)
3349
- * @description Additional information about the route, including auto-discovered fields
3350
- */
3351
- meta: RouteMeta;
3352
- }>;
3353
- /**
3354
- * Discovery metadata and statistics
3355
- * @description Information about the route discovery process
3356
- */
3357
- manifest: {
3358
- /** Total number of discovered routes */
3359
- totalRoutes: number;
3360
- /** Number of routes requiring authentication */
3361
- authRequired: number;
3362
- /** Number of public routes */
3363
- publicRoutes: number;
3364
- /** Source of routes (auto-discovery vs manual) */
3365
- source: RouteSource;
3366
- /** ISO timestamp when routes were generated */
3367
- generatedAt: string;
3371
+ interface StripeInvoice {
3372
+ /** Stripe invoice ID */
3373
+ id: string;
3374
+ /** Customer ID */
3375
+ customer: string;
3376
+ /** Invoice amount */
3377
+ amount_due: number;
3378
+ /** Invoice amount paid */
3379
+ amount_paid: number;
3380
+ /** Invoice amount remaining */
3381
+ amount_remaining: number;
3382
+ /** Currency code */
3383
+ currency: string;
3384
+ /** Invoice status */
3385
+ status: 'draft' | 'open' | 'paid' | 'void' | 'uncollectible';
3386
+ /** When the invoice was created */
3387
+ created: number;
3388
+ /** When the invoice is due */
3389
+ due_date?: number;
3390
+ /** When the invoice was paid */
3391
+ paid_at?: number;
3392
+ /** When the invoice was voided */
3393
+ voided_at?: number;
3394
+ /** Invoice description */
3395
+ description?: string;
3396
+ /** Invoice line items */
3397
+ lines: {
3398
+ data: Array<{
3399
+ id: string;
3400
+ amount: number;
3401
+ currency: string;
3402
+ description?: string;
3403
+ quantity: number;
3404
+ unit_amount: number;
3405
+ price?: {
3406
+ id: string;
3407
+ unit_amount: number;
3408
+ currency: string;
3409
+ recurring?: {
3410
+ interval: 'day' | 'week' | 'month' | 'year';
3411
+ interval_count: number;
3412
+ };
3413
+ product: string;
3414
+ };
3415
+ }>;
3368
3416
  };
3417
+ /** Invoice metadata */
3418
+ metadata: Record<string, string>;
3419
+ /** Subscription ID (if applicable) */
3420
+ subscription?: string;
3421
+ /** Total amount */
3422
+ total: number;
3423
+ /** Tax amount */
3424
+ tax?: number;
3425
+ /** Tax rate applied */
3426
+ tax_rate?: number;
3369
3427
  }
3370
3428
  /**
3371
- * Themes Plugin Configuration
3372
- * @description Configuration for theme discovery and management
3429
+ * Stripe customer data structure
3430
+ *
3431
+ * @version 0.0.1
3432
+ * @since 0.0.1
3433
+ * @author AMBROISE PARK Consulting
3373
3434
  */
3374
- interface ThemesPluginConfig {
3375
- /** Mapping of theme names to theme configurations */
3376
- mapping: Record<string, any>;
3377
- /** Array of discovered themes */
3378
- discovered: Array<{
3379
- /** Theme identifier */
3380
- name: string;
3381
- /** Human-readable theme name */
3382
- displayName: string;
3383
- /** Whether this is a dark theme */
3384
- isDark: boolean;
3385
- /** Theme metadata */
3386
- meta: {
3387
- /** Icon identifier */
3388
- icon: string;
3389
- /** Theme description */
3390
- description?: string;
3391
- /** Theme category */
3392
- category?: string;
3393
- /** Theme author */
3394
- author?: string;
3395
- /** Additional metadata */
3396
- [key: string]: any;
3397
- };
3398
- /** Source file path */
3399
- source: string;
3400
- /** Whether theme is essential (cannot be disabled) */
3401
- essential: boolean;
3402
- }>;
3403
- /** CSS custom property variables */
3404
- variables: Record<string, string>;
3405
- /** Utility class mappings */
3406
- utilities: Record<string, Record<string, string>>;
3407
- /** Discovery manifest metadata */
3408
- manifest: {
3409
- /** Total number of discovered themes */
3410
- totalThemes: number;
3411
- /** Total number of CSS variables */
3412
- totalVariables: number;
3413
- /** Total number of utility classes */
3414
- totalUtilities: number;
3415
- /** ISO timestamp of generation */
3416
- generatedAt: string;
3435
+ interface StripeCustomer {
3436
+ /** Stripe customer ID */
3437
+ id: string;
3438
+ /** Customer email */
3439
+ email?: string;
3440
+ /** Customer name */
3441
+ name?: string;
3442
+ /** Customer description */
3443
+ description?: string;
3444
+ /** Customer phone */
3445
+ phone?: string;
3446
+ /** Customer address */
3447
+ address?: {
3448
+ city?: string;
3449
+ country?: string;
3450
+ line1?: string;
3451
+ line2?: string;
3452
+ postal_code?: string;
3453
+ state?: string;
3454
+ };
3455
+ /** Customer balance */
3456
+ balance: number;
3457
+ /** Currency code */
3458
+ currency?: string;
3459
+ /** When the customer was created */
3460
+ created: number;
3461
+ /** When the customer was last updated */
3462
+ updated: number;
3463
+ /** Customer metadata */
3464
+ metadata: Record<string, string>;
3465
+ /** Default payment method */
3466
+ default_source?: string;
3467
+ /** Whether the customer is deleted */
3468
+ deleted?: boolean;
3469
+ /** Customer tax IDs */
3470
+ tax_ids?: {
3471
+ data: Array<{
3472
+ id: string;
3473
+ type: 'eu_vat' | 'br_cnpj' | 'br_cpf' | 'gb_vat' | 'nz_gst' | 'au_abn' | 'au_arn' | 'in_gst' | 'no_vat' | 'za_vat' | 'ch_vat' | 'mx_rfc' | 'sg_uen' | 'ru_inn' | 'ru_kpp' | 'ca_bn' | 'hk_br' | 'es_cif' | 'tw_vat' | 'th_vat' | 'jp_cn' | 'jp_rn' | 'li_uid' | 'my_itn' | 'us_ein' | 'kr_brn' | 'ca_gst_hst' | 'ca_qst' | 'ca_pst_bc' | 'ca_pst_mb' | 'ca_pst_sk' | 'my_sst' | 'sg_gst' | 'ae_trn' | 'cl_tin' | 'sa_vat' | 'id_npwp' | 'za_vat' | 'mx_rfc' | 'sg_uen' | 'ru_inn' | 'ru_kpp' | 'ca_bn' | 'hk_br' | 'es_cif' | 'tw_vat' | 'th_vat' | 'jp_cn' | 'jp_rn' | 'li_uid' | 'my_itn' | 'us_ein' | 'kr_brn' | 'ca_gst_hst' | 'ca_qst' | 'ca_pst_bc' | 'ca_pst_mb' | 'ca_pst_sk' | 'my_sst' | 'sg_gst' | 'ae_trn' | 'cl_tin' | 'sa_vat' | 'id_npwp';
3474
+ value: string;
3475
+ }>;
3417
3476
  };
3418
3477
  }
3419
3478
  /**
3420
- * Assets Plugin Configuration
3421
- * @description Configuration for static asset management
3479
+ * Stripe product data structure
3480
+ *
3481
+ * @version 0.0.1
3482
+ * @since 0.0.1
3483
+ * @author AMBROISE PARK Consulting
3422
3484
  */
3423
- interface AssetsPluginConfig {
3424
- /** Mapping of asset paths to asset metadata */
3425
- mapping: Record<string, any>;
3426
- /** SVG content of logo.svg for inline rendering with CSS variable theming */
3427
- logoSvgContent?: string | null;
3428
- /** Discovery manifest metadata */
3429
- manifest: {
3430
- /** Total number of discovered assets */
3431
- totalAssets: number;
3432
- /** ISO timestamp of generation */
3433
- generatedAt: string;
3434
- };
3485
+ interface StripeProduct {
3486
+ /** Stripe product ID */
3487
+ id: string;
3488
+ /** Product name */
3489
+ name: string;
3490
+ /** Product description */
3491
+ description?: string;
3492
+ /** Product images */
3493
+ images: string[];
3494
+ /** Product metadata */
3495
+ metadata: Record<string, string>;
3496
+ /** Whether the product is active */
3497
+ active: boolean;
3498
+ /** When the product was created */
3499
+ created: number;
3500
+ /** When the product was last updated */
3501
+ updated: number;
3502
+ /** Product type */
3503
+ type: 'service' | 'good';
3504
+ /** Product URL */
3505
+ url?: string;
3506
+ /** Product statement descriptor */
3507
+ statement_descriptor?: string;
3508
+ /** Product unit label */
3509
+ unit_label?: string;
3510
+ /** Product tax code */
3511
+ tax_code?: string;
3435
3512
  }
3436
3513
  /**
3437
- * PWA Plugin Configuration
3438
- * @description Configuration for Progressive Web App features
3514
+ * Stripe price data structure
3515
+ *
3516
+ * @version 0.0.1
3517
+ * @since 0.0.1
3518
+ * @author AMBROISE PARK Consulting
3439
3519
  */
3440
- interface PWAPluginConfig {
3441
- /** Array of PWA assets */
3442
- assets: Array<{
3443
- /** Type of PWA asset */
3444
- type: PWAAssetType;
3445
- /** Asset file path */
3446
- path: string;
3447
- /** Asset file size in bytes */
3448
- size?: number;
3449
- /** Asset content (for inline assets) */
3450
- content?: any;
3451
- /** Asset format (for images) */
3452
- format?: string;
3453
- /** Asset purpose (for icons) */
3454
- purpose?: string;
3455
- }>;
3456
- /** PWA manifest configuration */
3457
- manifest: {
3458
- /** Application name */
3459
- name: string;
3460
- /** Short application name */
3461
- short_name: string;
3462
- /** Application description */
3463
- description: string;
3464
- /** Start URL */
3465
- start_url: string;
3466
- /** Display mode */
3467
- display: PWADisplayMode;
3468
- /** Background color */
3469
- background_color: string;
3470
- /** Theme color */
3471
- theme_color: string;
3472
- /** Array of app icons */
3473
- icons: Array<{
3474
- /** Icon source path */
3475
- src: string;
3476
- /** Icon sizes (e.g., '192x192') */
3477
- sizes: string;
3478
- /** Icon MIME type */
3479
- type: string;
3480
- /** Icon purpose (e.g., 'any', 'maskable') */
3481
- purpose: string;
3482
- }>;
3520
+ interface StripePrice {
3521
+ /** Stripe price ID */
3522
+ id: string;
3523
+ /** Product ID */
3524
+ product: string;
3525
+ /** Price amount in cents */
3526
+ unit_amount: number;
3527
+ /** Currency code */
3528
+ currency: string;
3529
+ /** Price type */
3530
+ type: 'one_time' | 'recurring';
3531
+ /** Recurring interval (if type is 'recurring') */
3532
+ recurring?: {
3533
+ interval: 'day' | 'week' | 'month' | 'year';
3534
+ interval_count: number;
3535
+ trial_period_days?: number;
3536
+ usage_type: 'licensed' | 'metered';
3483
3537
  };
3484
- /** Discovery manifest metadata */
3485
- manifestInfo: {
3486
- /** Total number of PWA assets */
3487
- totalAssets: number;
3488
- /** Total number of icons */
3489
- totalIcons: number;
3490
- /** Whether service worker is present */
3491
- hasServiceWorker: boolean;
3492
- /** ISO timestamp of generation */
3493
- generatedAt: string;
3538
+ /** Whether the price is active */
3539
+ active: boolean;
3540
+ /** When the price was created */
3541
+ created: number;
3542
+ /** When the price was last updated */
3543
+ updated: number;
3544
+ /** Price metadata */
3545
+ metadata: Record<string, string>;
3546
+ /** Price nickname */
3547
+ nickname?: string;
3548
+ /** Price tiers (for graduated pricing) */
3549
+ tiers?: Array<{
3550
+ up_to: number | 'inf';
3551
+ unit_amount: number;
3552
+ flat_amount?: number;
3553
+ }>;
3554
+ /** Price tiers mode */
3555
+ tiers_mode?: 'graduated' | 'volume';
3556
+ /** Price transform quantity */
3557
+ transform_quantity?: {
3558
+ divide_by: number;
3559
+ round: 'up' | 'down';
3494
3560
  };
3561
+ /** Price lookup key */
3562
+ lookup_key?: string;
3495
3563
  }
3496
3564
  /**
3497
- * Features Plugin Configuration
3498
- * @description Configuration for feature discovery and enablement
3565
+ * Checkout options for Stripe checkout session
3499
3566
  *
3500
- * @remarks
3501
- * This interface defines the structure for feature discovery data that is populated
3502
- * at build time and made available at runtime for feature availability checking.
3567
+ * @version 0.0.1
3568
+ * @since 0.0.1
3569
+ * @author AMBROISE PARK Consulting
3570
+ */
3571
+ interface CheckoutOptions {
3572
+ priceId: string;
3573
+ mode: 'payment' | 'subscription';
3574
+ successUrl?: string;
3575
+ cancelUrl?: string;
3576
+ metadata?: Record<string, string>;
3577
+ allowPromotionCodes?: boolean;
3578
+ }
3579
+ /**
3580
+ * Billing API type - complete interface for useStripeBilling hook
3503
3581
  *
3504
- * @example
3505
- * ```typescript
3506
- * // Generated by feature discovery system
3507
- * const featuresConfig: FeaturesPluginConfig = {
3508
- * available: ['auth', 'billing', 'i18n', 'oauth'],
3509
- * enabled: ['auth', 'i18n'],
3510
- * overridden: false
3511
- * };
3512
- * ```
3582
+ * @version 0.0.3
3583
+ * @since 0.0.1
3584
+ * @author AMBROISE PARK Consulting
3513
3585
  */
3514
- interface FeaturesPluginConfig {
3586
+ interface BillingAPI {
3515
3587
  /**
3516
- * List of all available features discovered in packages/features/
3517
- * @example ['auth', 'billing', 'i18n', 'oauth']
3588
+ * Unified feature status - single source of truth for billing state.
3589
+ * Replaces deprecated `loading` boolean flag.
3590
+ * - `initializing`: Billing is loading/initializing
3591
+ * - `ready`: Billing fully operational
3592
+ * - `degraded`: Billing unavailable (feature not installed/consent not given)
3593
+ * - `error`: Billing encountered error
3518
3594
  */
3519
- available: string[];
3595
+ status: FeatureStatus;
3596
+ error: string | null;
3597
+ checkout: (options: CheckoutOptions) => Promise<StripeCheckoutResponse>;
3598
+ cancelSubscription: () => Promise<{
3599
+ success: boolean;
3600
+ endsAt: string;
3601
+ }>;
3602
+ changePlan: (newPriceId: string, billingConfigKey: string) => Promise<{
3603
+ success: boolean;
3604
+ }>;
3605
+ refreshStatus: () => Promise<void>;
3606
+ openCustomerPortal: (returnUrl?: string) => Promise<void>;
3607
+ clearError: () => void;
3608
+ isAvailable: boolean;
3520
3609
  }
3521
3610
  /**
3522
- * Complete DoNotDev framework configuration structure
3523
- * @description Single source of truth for all framework configuration
3611
+ * Frontend billing configuration type
3524
3612
  *
3525
- * @remarks
3526
- * All discovery plugins add their data to this unified config.
3527
- * Available at runtime via globalThis._DNDEV_CONFIG_ or window._DNDEV_CONFIG_
3613
+ * @version 0.0.1
3614
+ * @since 0.0.1
3615
+ * @author AMBROISE PARK Consulting
3528
3616
  */
3529
- interface DndevFrameworkConfig {
3530
- /** Framework platform (Vite or Next.js) */
3531
- platform: Platform;
3532
- /** Current environment mode */
3533
- mode: EnvironmentMode;
3534
- /** Framework version */
3535
- version: string;
3536
- /** Execution context */
3537
- context: Context;
3538
- /** Unix timestamp of config generation */
3539
- timestamp: number;
3540
- /** i18n plugin configuration (optional) */
3541
- i18n?: I18nPluginConfig;
3542
- /** Routes plugin configuration (optional) */
3543
- routes?: RoutesPluginConfig;
3544
- /** Themes plugin configuration (optional) */
3545
- themes?: ThemesPluginConfig;
3546
- /** Assets plugin configuration (optional) */
3547
- assets?: AssetsPluginConfig;
3548
- /** PWA plugin configuration (optional) */
3549
- pwa?: PWAPluginConfig;
3550
- /** Features plugin configuration (optional) */
3551
- features?: FeaturesPluginConfig;
3552
- /** Environment variables (VITE_* variables from .env files) */
3553
- env?: Record<string, string>;
3554
- }
3555
- declare global {
3556
- interface Window {
3557
- /**
3558
- * Single source of truth for all DoNotDev framework configuration
3559
- * @description Set by platform detection and populated by discovery plugins
3560
- */
3561
- _DNDEV_CONFIG_?: DndevFrameworkConfig;
3562
- /**
3563
- * Global store registry for singleton Zustand stores
3564
- * @description Ensures single instance across code-split chunks
3565
- */
3566
- _DNDEV_STORES_?: Record<string, any>;
3567
- /** PapaParse CSV parser library (external) */
3568
- Papa?: {
3569
- parse: (input: string | File, config?: any) => any;
3570
- unparse: (data: any[], config?: any) => string;
3571
- };
3572
- /** Sentry error tracking library (external) */
3573
- Sentry?: {
3574
- captureException: (error: unknown) => void;
3575
- withScope: (callback: (scope: any) => void) => void;
3576
- getClient: () => {
3577
- close: () => Promise<boolean>;
3578
- } | undefined;
3617
+ type StripeFrontConfig = v.InferOutput<typeof StripeFrontConfigSchema>;
3618
+ /**
3619
+ * Backend billing configuration type with hooks
3620
+ *
3621
+ * @version 0.0.1
3622
+ * @since 0.0.1
3623
+ * @author AMBROISE PARK Consulting
3624
+ */
3625
+ type StripeBackConfig = {
3626
+ [key: string]: {
3627
+ type: 'StripePayment' | 'StripeSubscription';
3628
+ name: string;
3629
+ price: number;
3630
+ currency: string;
3631
+ priceId: string;
3632
+ tier: string;
3633
+ duration: string;
3634
+ description?: string;
3635
+ metadata?: Record<string, string>;
3636
+ allowPromotionCodes?: boolean;
3637
+ onPurchaseSuccess?: (userId: string, metadata: Record<string, string>) => Promise<void>;
3638
+ onPurchaseFailure?: (userId: string, metadata: Record<string, string>) => Promise<void>;
3639
+ onSubscriptionCreated?: (userId: string, metadata: Record<string, string>) => Promise<void>;
3640
+ onSubscriptionRenewed?: (userId: string, metadata: Record<string, string>) => Promise<void>;
3641
+ onSubscriptionCancelled?: (userId: string, metadata: Record<string, string>) => Promise<void>;
3642
+ onPaymentFailed?: (userId: string, metadata: Record<string, string>) => Promise<void>;
3643
+ };
3644
+ };
3645
+ /**
3646
+ * Stripe configuration interface
3647
+ *
3648
+ * @version 0.0.1
3649
+ * @since 0.0.1
3650
+ * @author AMBROISE PARK Consulting
3651
+ */
3652
+ interface StripeConfig {
3653
+ /** Stripe secret key for server-side operations */
3654
+ secretKey: string;
3655
+ /** Stripe publishable key for client-side operations */
3656
+ publishableKey: string;
3657
+ /** Stripe webhook secret for webhook verification */
3658
+ webhookSecret: string;
3659
+ /** Whether to use test mode */
3660
+ testMode: boolean;
3661
+ /** API version to use */
3662
+ apiVersion?: string;
3663
+ /** Maximum number of retries for failed requests */
3664
+ maxNetworkRetries?: number;
3665
+ /** Request timeout in milliseconds */
3666
+ timeout?: number;
3667
+ /** Additional configuration options */
3668
+ options?: {
3669
+ /** Whether to enable telemetry */
3670
+ telemetry?: boolean;
3671
+ /** App information */
3672
+ appInfo?: {
3673
+ name: string;
3674
+ version: string;
3675
+ url?: string;
3579
3676
  };
3580
- }
3581
- namespace NodeJS {
3582
- interface ProcessEnv {
3583
- /** Serialized framework config for Node.js environment */
3584
- _DNDEV_CONFIG_?: string;
3585
- }
3586
- }
3587
- namespace globalThis {
3588
- /** Framework configuration (same as window._DNDEV_CONFIG_) */
3589
- var _DNDEV_CONFIG_: DndevFrameworkConfig | undefined;
3590
- /** Store registry (same as window._DNDEV_STORES_) */
3591
- var _DNDEV_STORES_: Record<string, any> | undefined;
3592
- var __vite_plugin_react_preamble_installed__: boolean | undefined;
3593
- var __vite_hmr_port: number | undefined;
3594
- var __NEXT_DATA__: any | undefined;
3595
- var __REACT_QUERY_CLIENT__: any | undefined;
3596
- var __REACT_QUERY_PROVIDER__: any | undefined;
3597
- var __DNDEV_DEBUG: boolean | undefined;
3598
- var __FIREBASE_DEMO_MODE__: boolean | undefined;
3599
- var getAvailableThemes: (() => string[]) | undefined;
3600
- }
3677
+ };
3601
3678
  }
3602
3679
 
3603
3680
  /**
3604
3681
  * @fileoverview Authentication Types
3605
3682
  * @description Type definitions for authentication domain. Defines authentication partner types, user types, session types, and authentication-related interfaces.
3683
+ * Uses unified FeatureStatus enum for feature state management.
3606
3684
  *
3607
- * @version 0.0.1
3685
+ * @version 0.0.3
3608
3686
  * @since 0.0.1
3609
3687
  * @author AMBROISE PARK Consulting
3610
3688
  */
@@ -4030,24 +4108,24 @@ interface AuthState {
4030
4108
  };
4031
4109
  authService: any;
4032
4110
  /**
4033
- * Whether the auth service is initialized and methods can be called.
4034
- * Maps to `BaseStoreState.isReady` in the standard store pattern.
4111
+ * Unified feature status - single source of truth for auth state.
4112
+ * Replaces deprecated boolean flags (initialized, authStateChecked).
4035
4113
  *
4036
- * @see BaseStoreState.isReady
4037
- */
4038
- initialized: boolean;
4039
- /**
4040
- * Whether the first onAuthStateChanged callback has fired (user data resolved).
4041
- * Maps to `BaseStoreState.isDataResolved` in the standard store pattern.
4114
+ * **Lifecycle timeline:**
4115
+ * 1. Store created → `status: 'initializing'` (show loader)
4116
+ * 2. Auth service init + first callback → `status: 'ready'` (normal operation)
4117
+ * 3. If feature disabled/unavailable → `status: 'degraded'` (protected routes redirect with error)
4118
+ * 4. If init fails `status: 'error'` (protected routes redirect with error)
4042
4119
  *
4043
- * Timeline:
4044
- * 1. Store createdinitialized: false, authStateChecked: false
4045
- * 2. Auth service initinitialized: true, authStateChecked: false
4046
- * 3. First callback initialized: true, authStateChecked: true
4120
+ * **Guard behavior:**
4121
+ * - `degraded` + protected route redirect to auth route with `?error=auth_unavailable`
4122
+ * - `error` + protected route redirect to auth route with `?error=auth_error`
4123
+ * - `initializing`show loader, don't redirect
4124
+ * - `ready` → perform normal auth checks
4047
4125
  *
4048
- * @see BaseStoreState.isDataResolved
4126
+ * @see FEATURE_STATUS for possible values
4049
4127
  */
4050
- authStateChecked: boolean;
4128
+ status: FeatureStatus;
4051
4129
  }
4052
4130
  /**
4053
4131
  * Authentication actions interface
@@ -4065,10 +4143,8 @@ interface AuthActions {
4065
4143
  setAuthLoading: (loading: boolean) => void;
4066
4144
  setAuthError: (error: AuthError) => void;
4067
4145
  clearAuthError: () => void;
4068
- /** Set initialized state. @see BaseStoreActions.setReady */
4069
- setInitialized: (initialized: boolean) => void;
4070
- /** Set auth state checked. @see BaseStoreActions.setDataResolved */
4071
- setAuthStateChecked: (checked: boolean) => void;
4146
+ /** Set unified status - single source of truth */
4147
+ setStatus: (status: FeatureStatus) => void;
4072
4148
  getCustomClaim: (claim: string) => any;
4073
4149
  getCustomClaims: () => Record<string, any>;
4074
4150
  emailVerification: {
@@ -4326,10 +4402,11 @@ interface AuthAPI {
4326
4402
  partnerId: AuthPartnerId;
4327
4403
  error: string;
4328
4404
  } | null;
4329
- /** Auth service initialized. @see BaseStoreState.isReady */
4330
- initialized: boolean;
4331
- /** First onAuthStateChanged fired. @see BaseStoreState.isDataResolved */
4332
- authStateChecked: boolean;
4405
+ /**
4406
+ * Unified feature status - single source of truth for auth state.
4407
+ * Replaces deprecated boolean flags. See AuthState.status for detailed lifecycle.
4408
+ */
4409
+ status: FeatureStatus;
4333
4410
  getPartnerState: (partnerId: AuthPartnerId) => string;
4334
4411
  setPartnerState: (partnerId: AuthPartnerId, state: string, error?: string) => void;
4335
4412
  hasRole: (role: string) => Promise<boolean>;
@@ -4360,9 +4437,48 @@ interface AuthAPI {
4360
4437
  isAuthenticated: boolean;
4361
4438
  userRole: string;
4362
4439
  userTier: string;
4363
- canAccess: (config: PageAuth | false) => boolean;
4440
+ /**
4441
+ * Capability-based access control object.
4442
+ * Usage: `const can = useAuth('can'); if (can.edit('licenses')) { ... }`
4443
+ */
4444
+ can: CanAPI;
4364
4445
  isAvailable: boolean;
4365
4446
  }
4447
+ /**
4448
+ * Capability-based access control API
4449
+ *
4450
+ * Provides granular permission checks based on resources and custom capabilities.
4451
+ * Permissions are derived from userProfile.permissions array (format: "resource:action")
4452
+ * and user role (admin bypasses all checks).
4453
+ *
4454
+ * @example
4455
+ * ```typescript
4456
+ * const can = useAuth('can');
4457
+ * if (can.view('dashboard')) { ... }
4458
+ * if (can.edit('licenses')) { ... }
4459
+ * if (can.perform('approve-budget', { amount: 5000 })) { ... }
4460
+ * ```
4461
+ *
4462
+ * @version 0.0.1
4463
+ * @since 0.0.3
4464
+ * @author AMBROISE PARK Consulting
4465
+ */
4466
+ interface CanAPI {
4467
+ /** Check if user can navigate to a route (replaces canAccess) */
4468
+ navigate: (config: PageAuth | false) => boolean;
4469
+ /** Check if user can view a resource */
4470
+ view: (resource: string) => boolean;
4471
+ /** Check if user can edit a resource */
4472
+ edit: (resource: string) => boolean;
4473
+ /** Check if user can delete a resource */
4474
+ delete: (resource: string) => boolean;
4475
+ /** Check if user can create a resource */
4476
+ create: (resource: string) => boolean;
4477
+ /** Check custom capability with optional context */
4478
+ perform: (action: string, context?: Record<string, any>) => boolean;
4479
+ /** Check if user has specific permission string */
4480
+ has: (permission: string) => boolean;
4481
+ }
4366
4482
 
4367
4483
  /**
4368
4484
  * @fileoverview CRUD Constants
@@ -4388,7 +4504,7 @@ declare const VISIBILITY: {
4388
4504
  * @since 0.0.1
4389
4505
  * @author AMBROISE PARK Consulting
4390
4506
  */
4391
- declare const FIELD_TYPES: readonly ["array", "avatar", "badge", "boolean", "checkbox", "color", "date", "datetime-local", "email", "file", "geopoint", "hidden", "image", "map", "month", "multiselect", "number", "password", "radio", "reference", "range", "reset", "select", "submit", "tel", "text", "textarea", "time", "timestamp", "url", "week"];
4507
+ declare const FIELD_TYPES: readonly ["address", "array", "avatar", "badge", "boolean", "checkbox", "color", "date", "datetime-local", "email", "file", "geopoint", "hidden", "image", "map", "month", "multiselect", "number", "password", "radio", "reference", "range", "reset", "select", "submit", "tel", "text", "textarea", "time", "timestamp", "url", "week"];
4392
4508
 
4393
4509
  /**
4394
4510
  * @fileoverview Schema-Related Type Definitions
@@ -4434,6 +4550,12 @@ type FieldType = (typeof FIELD_TYPES)[number];
4434
4550
  * @author AMBROISE PARK Consulting
4435
4551
  */
4436
4552
  type FieldTypeToValue = {
4553
+ address: {
4554
+ formatted_address: string;
4555
+ latitude: number;
4556
+ longitude: number;
4557
+ [key: string]: any;
4558
+ };
4437
4559
  array: any[];
4438
4560
  avatar: string;
4439
4561
  badge: string;
@@ -4934,21 +5056,31 @@ interface ListEntitiesResponse {
4934
5056
  /**
4935
5057
  * @fileoverview CRUD Types
4936
5058
  * @description Type definitions for CRUD domain. Defines entity types, field types, and CRUD-related interfaces.
5059
+ * Uses unified FeatureStatus enum for feature state management.
4937
5060
  *
4938
- * @version 0.0.1
5061
+ * @version 0.0.3
4939
5062
  * @since 0.0.1
4940
5063
  * @author AMBROISE PARK Consulting
4941
5064
  */
5065
+
4942
5066
  /**
4943
5067
  * CRUD API type - complete interface for useCrud hook
4944
5068
  *
4945
- * @version 0.0.1
5069
+ * @version 0.0.3
4946
5070
  * @since 0.0.1
4947
5071
  * @author AMBROISE PARK Consulting
4948
5072
  */
4949
5073
  interface CrudAPI<T = unknown> {
5074
+ /**
5075
+ * Unified feature status - single source of truth for CRUD state.
5076
+ * Replaces deprecated `loading` boolean flag.
5077
+ * - `initializing`: CRUD is loading/initializing
5078
+ * - `ready`: CRUD fully operational
5079
+ * - `degraded`: CRUD unavailable (feature not installed/consent not given)
5080
+ * - `error`: CRUD encountered error
5081
+ */
5082
+ status: FeatureStatus;
4950
5083
  data: T | null;
4951
- loading: boolean;
4952
5084
  error: Error | null;
4953
5085
  get: (id: string) => Promise<T | null>;
4954
5086
  set: (id: string, data: T) => Promise<void>;
@@ -8515,6 +8647,14 @@ interface UIFieldOptions<T extends FieldType = FieldType> {
8515
8647
  defaultCountry?: string;
8516
8648
  /** Whether to show country flags */
8517
8649
  showFlags?: boolean;
8650
+ } : T extends 'address' ? {
8651
+ /**
8652
+ * Whether to enable Google Maps autocomplete (default: false)
8653
+ * Requires env var: VITE_GOOGLE_MAPS_API_KEY (Vite) or NEXT_PUBLIC_GOOGLE_MAPS_API_KEY (Next.js)
8654
+ */
8655
+ enableGoogleMaps?: boolean;
8656
+ /** Whether to extract district code for Paris addresses */
8657
+ extractDistrictCode?: boolean;
8518
8658
  } : never;
8519
8659
  }
8520
8660
  /**
@@ -9448,25 +9588,6 @@ interface AppConfig {
9448
9588
  preset?: string;
9449
9589
  /** Feature flags */
9450
9590
  features?: FeaturesConfig;
9451
- /** Observability configuration for monitoring and debugging */
9452
- observability?: ObservabilityConfig;
9453
- }
9454
- /**
9455
- * Observability configuration for monitoring and debugging
9456
- *
9457
- * @version 0.0.2
9458
- * @since 0.0.1
9459
- * @author AMBROISE PARK Consulting
9460
- */
9461
- interface ObservabilityConfig {
9462
- /** Enable store initialization metrics collection */
9463
- metrics?: boolean;
9464
- /** Enable health check endpoints */
9465
- healthChecks?: boolean;
9466
- /** Enable performance monitoring */
9467
- performance?: boolean;
9468
- /** Enable enhanced debugging information */
9469
- debugging?: boolean;
9470
9591
  }
9471
9592
  /**
9472
9593
  * Custom store configuration for app-specific stores
@@ -9475,7 +9596,6 @@ interface ObservabilityConfig {
9475
9596
  * store initialization system. Custom stores benefit from:
9476
9597
  * - Shell loader integration (critical stores block render)
9477
9598
  * - Retry logic and error handling
9478
- * - Observability and monitoring
9479
9599
  * - Unified initialization flow
9480
9600
  *
9481
9601
  * @example
@@ -9592,7 +9712,7 @@ interface AppProvidersProps {
9592
9712
  * Custom store configurations
9593
9713
  *
9594
9714
  * Register Zustand stores to benefit from shell loader, retry logic,
9595
- * error handling, and observability. Critical stores block render.
9715
+ * error handling. Critical stores block render.
9596
9716
  *
9597
9717
  * @example
9598
9718
  * ```typescript
@@ -10251,8 +10371,9 @@ declare const getConnectionsSchema: v.ObjectSchema<{
10251
10371
  /**
10252
10372
  * @fileoverview OAuth Types
10253
10373
  * @description Type definitions for OAuth domain. Defines base credentials, user profiles, OAuth partner types, and OAuth-related interfaces.
10374
+ * Uses unified FeatureStatus enum for feature state management.
10254
10375
  *
10255
- * @version 0.0.1
10376
+ * @version 0.0.3
10256
10377
  * @since 0.0.1
10257
10378
  * @author AMBROISE PARK Consulting
10258
10379
  */
@@ -10574,12 +10695,20 @@ type GitHubPermission = v.InferOutput<typeof githubPermissionSchema>;
10574
10695
  /**
10575
10696
  * OAuth API type - complete interface for useOAuth hook
10576
10697
  *
10577
- * @version 0.0.1
10698
+ * @version 0.0.3
10578
10699
  * @since 0.0.1
10579
10700
  * @author AMBROISE PARK Consulting
10580
10701
  */
10581
10702
  interface OAuthAPI {
10582
- loading: boolean;
10703
+ /**
10704
+ * Unified feature status - single source of truth for OAuth state.
10705
+ * Replaces deprecated `loading` boolean flag.
10706
+ * - `initializing`: OAuth is loading/initializing
10707
+ * - `ready`: OAuth fully operational
10708
+ * - `degraded`: OAuth unavailable (feature not installed/consent not given)
10709
+ * - `error`: OAuth encountered error
10710
+ */
10711
+ status: FeatureStatus;
10583
10712
  error: string | null;
10584
10713
  partners: Record<OAuthPartnerId, any>;
10585
10714
  connectedPartners: OAuthPartnerId[];
@@ -11187,6 +11316,7 @@ declare const index_d$5_CONFIDENCE_LEVELS: typeof CONFIDENCE_LEVELS;
11187
11316
  declare const index_d$5_CONSENT_CATEGORY: typeof CONSENT_CATEGORY;
11188
11317
  declare const index_d$5_CONTEXTS: typeof CONTEXTS;
11189
11318
  type index_d$5_CachedError = CachedError;
11319
+ type index_d$5_CanAPI = CanAPI;
11190
11320
  type index_d$5_CheckGitHubAccessRequest = CheckGitHubAccessRequest;
11191
11321
  type index_d$5_CheckoutMode = CheckoutMode;
11192
11322
  type index_d$5_CheckoutOptions = CheckoutOptions;
@@ -11247,6 +11377,7 @@ type index_d$5_ExchangeTokenParams = ExchangeTokenParams;
11247
11377
  type index_d$5_ExchangeTokenRequest = ExchangeTokenRequest;
11248
11378
  declare const index_d$5_FEATURES: typeof FEATURES;
11249
11379
  declare const index_d$5_FEATURE_CONSENT_MATRIX: typeof FEATURE_CONSENT_MATRIX;
11380
+ declare const index_d$5_FEATURE_STATUS: typeof FEATURE_STATUS;
11250
11381
  declare const index_d$5_FIREBASE_ERROR_MAP: typeof FIREBASE_ERROR_MAP;
11251
11382
  declare const index_d$5_FIRESTORE_ID_PATTERN: typeof FIRESTORE_ID_PATTERN;
11252
11383
  type index_d$5_FaviconConfig = FaviconConfig;
@@ -11256,6 +11387,7 @@ type index_d$5_FeatureConsentRequirement<F extends FeatureName> = FeatureConsent
11256
11387
  type index_d$5_FeatureHookResult = FeatureHookResult;
11257
11388
  type index_d$5_FeatureId = FeatureId;
11258
11389
  type index_d$5_FeatureName = FeatureName;
11390
+ type index_d$5_FeatureStatus = FeatureStatus;
11259
11391
  type index_d$5_FeaturesConfig = FeaturesConfig;
11260
11392
  type index_d$5_FeaturesPluginConfig = FeaturesPluginConfig;
11261
11393
  type index_d$5_FeaturesRequiringAnyConsent = FeaturesRequiringAnyConsent;
@@ -11361,7 +11493,6 @@ type index_d$5_OAuthRefreshResponse = OAuthRefreshResponse;
11361
11493
  type index_d$5_OAuthResult = OAuthResult;
11362
11494
  type index_d$5_OAuthStoreActions = OAuthStoreActions;
11363
11495
  type index_d$5_OAuthStoreState = OAuthStoreState;
11364
- type index_d$5_ObservabilityConfig = ObservabilityConfig;
11365
11496
  type index_d$5_Observable<T> = Observable<T>;
11366
11497
  type index_d$5_OrderByClause = OrderByClause;
11367
11498
  declare const index_d$5_PARTNER_ICONS: typeof PARTNER_ICONS;
@@ -11562,8 +11693,8 @@ declare const index_d$5_validateSubscriptionData: typeof validateSubscriptionDat
11562
11693
  declare const index_d$5_validateUserSubscription: typeof validateUserSubscription;
11563
11694
  declare const index_d$5_validateWebhookEvent: typeof validateWebhookEvent;
11564
11695
  declare namespace index_d$5 {
11565
- export { index_d$5_AUTH_EVENTS as AUTH_EVENTS, index_d$5_AUTH_PARTNERS as AUTH_PARTNERS, index_d$5_AUTH_PARTNER_STATE as AUTH_PARTNER_STATE, index_d$5_AuthUserSchema as AuthUserSchema, index_d$5_BILLING_EVENTS as BILLING_EVENTS, index_d$5_BREAKPOINT_RANGES as BREAKPOINT_RANGES, index_d$5_BREAKPOINT_THRESHOLDS as BREAKPOINT_THRESHOLDS, index_d$5_COMMON_TIER_CONFIGS as COMMON_TIER_CONFIGS, index_d$5_CONFIDENCE_LEVELS as CONFIDENCE_LEVELS, index_d$5_CONSENT_CATEGORY as CONSENT_CATEGORY, index_d$5_CONTEXTS as CONTEXTS, index_d$5_CheckoutSessionMetadataSchema as CheckoutSessionMetadataSchema, index_d$5_CreateCheckoutSessionRequestSchema as CreateCheckoutSessionRequestSchema, index_d$5_CreateCheckoutSessionResponseSchema as CreateCheckoutSessionResponseSchema, index_d$5_CustomClaimsSchema as CustomClaimsSchema, index_d$5_DEFAULT_LAYOUT_PRESET as DEFAULT_LAYOUT_PRESET, index_d$5_DEFAULT_SUBSCRIPTION as DEFAULT_SUBSCRIPTION, index_d$5_DENSITY as DENSITY, index_d$5_DoNotDevError as DoNotDevError, index_d$5_ENVIRONMENTS as ENVIRONMENTS, index_d$5_EntityHookError as EntityHookError, index_d$5_FEATURES as FEATURES, index_d$5_FEATURE_CONSENT_MATRIX as FEATURE_CONSENT_MATRIX, index_d$5_FIREBASE_ERROR_MAP as FIREBASE_ERROR_MAP, index_d$5_FIRESTORE_ID_PATTERN as FIRESTORE_ID_PATTERN, index_d$5_GITHUB_PERMISSION_LEVELS as GITHUB_PERMISSION_LEVELS, index_d$5_LAYOUT_PRESET as LAYOUT_PRESET, index_d$5_OAUTH_EVENTS as OAUTH_EVENTS, index_d$5_OAUTH_PARTNERS as OAUTH_PARTNERS, index_d$5_PARTNER_ICONS as PARTNER_ICONS, index_d$5_PAYLOAD_EVENTS as PAYLOAD_EVENTS, index_d$5_PERMISSIONS as PERMISSIONS, index_d$5_PLATFORMS as PLATFORMS, index_d$5_PWA_ASSET_TYPES as PWA_ASSET_TYPES, index_d$5_PWA_DISPLAY_MODES as PWA_DISPLAY_MODES, index_d$5_ProductDeclarationSchema as ProductDeclarationSchema, index_d$5_ProductDeclarationsSchema as ProductDeclarationsSchema, index_d$5_ROUTE_SOURCES as ROUTE_SOURCES, index_d$5_ReactNode as ReactNode, index_d$5_STORAGE_SCOPES as STORAGE_SCOPES, index_d$5_STORAGE_TYPES as STORAGE_TYPES, index_d$5_STRIPE_EVENTS as STRIPE_EVENTS, index_d$5_STRIPE_MODES as STRIPE_MODES, index_d$5_SUBSCRIPTION_DURATIONS as SUBSCRIPTION_DURATIONS, index_d$5_SUBSCRIPTION_STATUS as SUBSCRIPTION_STATUS, index_d$5_SUBSCRIPTION_TIERS as SUBSCRIPTION_TIERS, index_d$5_StripeBackConfigSchema as StripeBackConfigSchema, index_d$5_StripeFrontConfigSchema as StripeFrontConfigSchema, index_d$5_StripePaymentSchema as StripePaymentSchema, index_d$5_StripeSubscriptionSchema as StripeSubscriptionSchema, index_d$5_SubscriptionClaimsSchema as SubscriptionClaimsSchema, index_d$5_SubscriptionDataSchema as SubscriptionDataSchema, index_d$5_USER_ROLES as USER_ROLES, index_d$5_UserSubscriptionSchema as UserSubscriptionSchema, index_d$5_WebhookEventSchema as WebhookEventSchema, index_d$5_checkGitHubAccessSchema as checkGitHubAccessSchema, index_d$5_createDefaultSubscriptionClaims as createDefaultSubscriptionClaims, index_d$5_createDefaultUserProfile as createDefaultUserProfile, index_d$5_createEntitySchema as createEntitySchema, index_d$5_deleteEntitySchema as deleteEntitySchema, index_d$5_disconnectOAuthSchema as disconnectOAuthSchema, index_d$5_exchangeTokenSchema as exchangeTokenSchema, index_d$5_getBreakpointFromWidth as getBreakpointFromWidth, index_d$5_getBreakpointUtils as getBreakpointUtils, index_d$5_getConnectionsSchema as getConnectionsSchema, index_d$5_getEntitySchema as getEntitySchema, index_d$5_githubPermissionSchema as githubPermissionSchema, index_d$5_githubRepoConfigSchema as githubRepoConfigSchema, index_d$5_grantGitHubAccessSchema as grantGitHubAccessSchema, index_d$5_isAuthPartnerId as isAuthPartnerId, index_d$5_isBreakpoint as isBreakpoint, index_d$5_isOAuthPartnerId as isOAuthPartnerId, index_d$5_listEntitiesSchema as listEntitiesSchema, index_d$5_overrideFeatures as overrideFeatures, index_d$5_overridePaymentModes as overridePaymentModes, index_d$5_overridePermissions as overridePermissions, index_d$5_overrideSubscriptionStatus as overrideSubscriptionStatus, index_d$5_overrideSubscriptionTiers as overrideSubscriptionTiers, index_d$5_overrideUserRoles as overrideUserRoles, index_d$5_refreshTokenSchema as refreshTokenSchema, index_d$5_revokeGitHubAccessSchema as revokeGitHubAccessSchema, index_d$5_updateEntitySchema as updateEntitySchema, index_d$5_validateAuthPartners as validateAuthPartners, index_d$5_validateAuthSchemas as validateAuthSchemas, index_d$5_validateAuthUser as validateAuthUser, index_d$5_validateBillingSchemas as validateBillingSchemas, index_d$5_validateCheckoutSessionMetadata as validateCheckoutSessionMetadata, index_d$5_validateCreateCheckoutSessionRequest as validateCreateCheckoutSessionRequest, index_d$5_validateCreateCheckoutSessionResponse as validateCreateCheckoutSessionResponse, index_d$5_validateCustomClaims as validateCustomClaims, index_d$5_validateOAuthPartners as validateOAuthPartners, index_d$5_validateStripeBackConfig as validateStripeBackConfig, index_d$5_validateStripeFrontConfig as validateStripeFrontConfig, index_d$5_validateSubscriptionClaims as validateSubscriptionClaims, index_d$5_validateSubscriptionData as validateSubscriptionData, index_d$5_validateUserSubscription as validateUserSubscription, index_d$5_validateWebhookEvent as validateWebhookEvent };
11566
- export type { index_d$5_AccountLinkResult as AccountLinkResult, index_d$5_AccountLinkingInfo as AccountLinkingInfo, index_d$5_AdminCheckHookResult as AdminCheckHookResult, index_d$5_AdminClaims as AdminClaims, index_d$5_ApiResponse as ApiResponse, index_d$5_AppConfig as AppConfig, index_d$5_AppCookieCategories as AppCookieCategories, index_d$5_AppMetadata as AppMetadata, index_d$5_AppProvidersProps as AppProvidersProps, index_d$5_AssetsPluginConfig as AssetsPluginConfig, index_d$5_AttemptRecord as AttemptRecord, index_d$5_AuthAPI as AuthAPI, index_d$5_AuthActions as AuthActions, index_d$5_AuthConfig as AuthConfig, index_d$5_AuthContextValue as AuthContextValue, index_d$5_AuthCoreHookResult as AuthCoreHookResult, index_d$5_AuthError as AuthError, index_d$5_AuthEventData as AuthEventData, index_d$5_AuthEventKey as AuthEventKey, index_d$5_AuthEventName as AuthEventName, index_d$5_AuthMethod as AuthMethod, index_d$5_AuthPartner as AuthPartner, index_d$5_AuthPartnerButton as AuthPartnerButton, index_d$5_AuthPartnerHookResult as AuthPartnerHookResult, index_d$5_AuthPartnerId as AuthPartnerId, index_d$5_AuthPartnerResult as AuthPartnerResult, index_d$5_AuthPartnerState as AuthPartnerState, index_d$5_AuthProvider as AuthProvider, index_d$5_AuthProviderProps as AuthProviderProps, index_d$5_AuthRedirectHookResult as AuthRedirectHookResult, index_d$5_AuthRedirectOptions as AuthRedirectOptions, index_d$5_AuthResult as AuthResult, index_d$5_AuthState as AuthState, index_d$5_AuthStateStore as AuthStateStore, index_d$5_AuthStatus as AuthStatus, index_d$5_AuthTokenHookResult as AuthTokenHookResult, index_d$5_AuthUser as AuthUser, index_d$5_BaseActions as BaseActions, index_d$5_BaseCredentials as BaseCredentials, index_d$5_BaseDocument as BaseDocument, index_d$5_BaseEntityFields as BaseEntityFields, index_d$5_BasePartnerState as BasePartnerState, index_d$5_BaseState as BaseState, index_d$5_BaseStoreActions as BaseStoreActions, index_d$5_BaseStoreState as BaseStoreState, index_d$5_BaseUserProfile as BaseUserProfile, index_d$5_BasicUserInfo as BasicUserInfo, index_d$5_BillingAPI as BillingAPI, index_d$5_BillingAdapter as BillingAdapter, index_d$5_BillingErrorCode as BillingErrorCode, index_d$5_BillingEvent as BillingEvent, index_d$5_BillingEventData as BillingEventData, index_d$5_BillingEventKey as BillingEventKey, index_d$5_BillingEventName as BillingEventName, index_d$5_BillingProvider as BillingProvider, index_d$5_BillingProviderConfig as BillingProviderConfig, index_d$5_Breakpoint as Breakpoint, index_d$5_BreakpointUtils as BreakpointUtils, index_d$5_BusinessEntity as BusinessEntity, index_d$5_CachedError as CachedError, index_d$5_CheckGitHubAccessRequest as CheckGitHubAccessRequest, index_d$5_CheckoutMode as CheckoutMode, index_d$5_CheckoutOptions as CheckoutOptions, index_d$5_CheckoutSessionMetadata as CheckoutSessionMetadata, index_d$5_ColumnDef as ColumnDef, index_d$5_CommonSubscriptionFeatures as CommonSubscriptionFeatures, index_d$5_CommonTranslations as CommonTranslations, index_d$5_ConfidenceLevel as ConfidenceLevel, index_d$5_ConsentAPI as ConsentAPI, index_d$5_ConsentActions as ConsentActions, index_d$5_ConsentCategory as ConsentCategory, index_d$5_ConsentState as ConsentState, index_d$5_Context as Context, index_d$5_CookieOptions as CookieOptions, index_d$5_CreateCheckoutSessionRequest as CreateCheckoutSessionRequest, index_d$5_CreateCheckoutSessionResponse as CreateCheckoutSessionResponse, index_d$5_CreateEntityData as CreateEntityData, index_d$5_CreateEntityRequest as CreateEntityRequest, index_d$5_CreateEntityResponse as CreateEntityResponse, index_d$5_CrudAPI as CrudAPI, index_d$5_CustomClaims as CustomClaims, index_d$5_CustomStoreConfig as CustomStoreConfig, index_d$5_DateValue as DateValue, index_d$5_DeleteEntityRequest as DeleteEntityRequest, index_d$5_DeleteEntityResponse as DeleteEntityResponse, index_d$5_Density as Density, index_d$5_DnDevLayoutProps as DnDevLayoutProps, index_d$5_DnDevOverride as DnDevOverride, index_d$5_DndevFrameworkConfig as DndevFrameworkConfig, index_d$5_DoNotDevCookieCategories as DoNotDevCookieCategories, index_d$5_DynamicFormRule as DynamicFormRule, index_d$5_EffectiveConnectionType as EffectiveConnectionType, index_d$5_EmailVerificationHookResult as EmailVerificationHookResult, index_d$5_EmailVerificationStatus as EmailVerificationStatus, index_d$5_Entity as Entity, index_d$5_EntityField as EntityField, index_d$5_EntityHookErrors as EntityHookErrors, index_d$5_EntityMetadata as EntityMetadata, index_d$5_EntityTemplateProps as EntityTemplateProps, index_d$5_EntityTranslations as EntityTranslations, index_d$5_EnvironmentMode as EnvironmentMode, index_d$5_ErrorCode as ErrorCode, index_d$5_ErrorSeverity as ErrorSeverity, index_d$5_ErrorSource as ErrorSource, index_d$5_ExchangeTokenParams as ExchangeTokenParams, index_d$5_ExchangeTokenRequest as ExchangeTokenRequest, index_d$5_FaviconConfig as FaviconConfig, index_d$5_Feature as Feature, index_d$5_FeatureAccessHookResult as FeatureAccessHookResult, index_d$5_FeatureConsentRequirement as FeatureConsentRequirement, index_d$5_FeatureHookResult as FeatureHookResult, index_d$5_FeatureId as FeatureId, index_d$5_FeatureName as FeatureName, index_d$5_FeaturesConfig as FeaturesConfig, index_d$5_FeaturesPluginConfig as FeaturesPluginConfig, index_d$5_FeaturesRequiringAnyConsent as FeaturesRequiringAnyConsent, index_d$5_FeaturesRequiringConsent as FeaturesRequiringConsent, index_d$5_FeaturesWithoutConsent as FeaturesWithoutConsent, index_d$5_FieldCondition as FieldCondition, index_d$5_FieldConfig as FieldConfig, index_d$5_FieldType as FieldType, index_d$5_FieldTypeToValue as FieldTypeToValue, index_d$5_FirebaseCallOptions as FirebaseCallOptions, index_d$5_FirebaseConfig as FirebaseConfig, index_d$5_FirestoreTimestamp as FirestoreTimestamp, index_d$5_FirestoreUniqueConstraintValidator as FirestoreUniqueConstraintValidator, index_d$5_FooterConfig as FooterConfig, index_d$5_FooterZoneConfig as FooterZoneConfig, index_d$5_FormConfig as FormConfig, index_d$5_FormStep as FormStep, index_d$5_FunctionCallConfig as FunctionCallConfig, index_d$5_FunctionCallContext as FunctionCallContext, index_d$5_FunctionCallOptions as FunctionCallOptions, index_d$5_FunctionCallResult as FunctionCallResult, index_d$5_FunctionClient as FunctionClient, index_d$5_FunctionClientFactoryOptions as FunctionClientFactoryOptions, index_d$5_FunctionError as FunctionError, index_d$5_FunctionLoader as FunctionLoader, index_d$5_FunctionPlatform as FunctionPlatform, index_d$5_FunctionResponse as FunctionResponse, index_d$5_FunctionSchema as FunctionSchema, index_d$5_FunctionSchemas as FunctionSchemas, index_d$5_FunctionSystem as FunctionSystem, index_d$5_GetCustomClaimsResponse as GetCustomClaimsResponse, index_d$5_GetEntityData as GetEntityData, index_d$5_GetEntityRequest as GetEntityRequest, index_d$5_GetEntityResponse as GetEntityResponse, index_d$5_GetUserAuthStatusResponse as GetUserAuthStatusResponse, index_d$5_GitHubPermission as GitHubPermission, index_d$5_GitHubRepoConfig as GitHubRepoConfig, index_d$5_GrantGitHubAccessRequest as GrantGitHubAccessRequest, index_d$5_HeaderZoneConfig as HeaderZoneConfig, index_d$5_I18nConfig as I18nConfig, index_d$5_I18nPluginConfig as I18nPluginConfig, index_d$5_I18nProviderProps as I18nProviderProps, index_d$5_ID as ID, index_d$5_INetworkManager as INetworkManager, index_d$5_IStorageManager as IStorageManager, index_d$5_IStorageStrategy as IStorageStrategy, index_d$5_Invoice as Invoice, index_d$5_InvoiceItem as InvoiceItem, index_d$5_LanguageInfo as LanguageInfo, index_d$5_LayoutConfig as LayoutConfig, index_d$5_LayoutInput as LayoutInput, index_d$5_LayoutPreset as LayoutPreset, index_d$5_LegalCompanyInfo as LegalCompanyInfo, index_d$5_LegalConfig as LegalConfig, index_d$5_LegalContactInfo as LegalContactInfo, index_d$5_LegalDirectorInfo as LegalDirectorInfo, index_d$5_LegalHostingInfo as LegalHostingInfo, index_d$5_LegalJurisdictionInfo as LegalJurisdictionInfo, index_d$5_LegalSectionsConfig as LegalSectionsConfig, index_d$5_LegalWebsiteInfo as LegalWebsiteInfo, index_d$5_ListEntitiesRequest as ListEntitiesRequest, index_d$5_ListEntitiesResponse as ListEntitiesResponse, index_d$5_ListEntityData as ListEntityData, index_d$5_ListOptions as ListOptions, index_d$5_ListResponse as ListResponse, index_d$5_LoadingActions as LoadingActions, index_d$5_LoadingState as LoadingState, index_d$5_MergedBarConfig as MergedBarConfig, index_d$5_MobileBehaviorConfig as MobileBehaviorConfig, index_d$5_ModalActions as ModalActions, index_d$5_ModalState as ModalState, index_d$5_MutationResponse as MutationResponse, index_d$5_NavigationRoute as NavigationRoute, index_d$5_NetworkCheckConfig as NetworkCheckConfig, index_d$5_NetworkConnectionType as NetworkConnectionType, index_d$5_NetworkReconnectCallback as NetworkReconnectCallback, NetworkState$1 as NetworkState, index_d$5_NetworkStatus as NetworkStatus, index_d$5_NetworkStatusHookResult as NetworkStatusHookResult, index_d$5_OAuthAPI as OAuthAPI, index_d$5_OAuthApiRequestOptions as OAuthApiRequestOptions, index_d$5_OAuthCallbackHookResult as OAuthCallbackHookResult, index_d$5_OAuthConnection as OAuthConnection, index_d$5_OAuthConnectionInfo as OAuthConnectionInfo, index_d$5_OAuthConnectionRequest as OAuthConnectionRequest, index_d$5_OAuthConnectionStatus as OAuthConnectionStatus, index_d$5_OAuthCredentials as OAuthCredentials, index_d$5_OAuthEventData as OAuthEventData, index_d$5_OAuthEventKey as OAuthEventKey, index_d$5_OAuthEventName as OAuthEventName, index_d$5_OAuthPartner as OAuthPartner, index_d$5_OAuthPartnerButton as OAuthPartnerButton, index_d$5_OAuthPartnerHookResult as OAuthPartnerHookResult, index_d$5_OAuthPartnerId as OAuthPartnerId, index_d$5_OAuthPartnerResult as OAuthPartnerResult, index_d$5_OAuthPartnerState as OAuthPartnerState, index_d$5_OAuthPurpose as OAuthPurpose, index_d$5_OAuthRefreshRequest as OAuthRefreshRequest, index_d$5_OAuthRefreshResponse as OAuthRefreshResponse, index_d$5_OAuthResult as OAuthResult, index_d$5_OAuthStoreActions as OAuthStoreActions, index_d$5_OAuthStoreState as OAuthStoreState, index_d$5_ObservabilityConfig as ObservabilityConfig, index_d$5_Observable as Observable, index_d$5_OrderByClause as OrderByClause, index_d$5_PWAAssetType as PWAAssetType, index_d$5_PWADisplayMode as PWADisplayMode, index_d$5_PWAPluginConfig as PWAPluginConfig, index_d$5_PageAuth as PageAuth, index_d$5_PageMeta as PageMeta, index_d$5_PaginationOptions as PaginationOptions, index_d$5_PartnerButton as PartnerButton, index_d$5_PartnerConnectionState as PartnerConnectionState, index_d$5_PartnerIconId as PartnerIconId, index_d$5_PartnerId as PartnerId, index_d$5_PartnerResult as PartnerResult, index_d$5_PartnerType as PartnerType, index_d$5_PayloadCacheEventData as PayloadCacheEventData, index_d$5_PayloadDocument as PayloadDocument, index_d$5_PayloadDocumentEventData as PayloadDocumentEventData, index_d$5_PayloadEventKey as PayloadEventKey, index_d$5_PayloadEventName as PayloadEventName, index_d$5_PayloadGlobalEventData as PayloadGlobalEventData, index_d$5_PayloadMediaEventData as PayloadMediaEventData, index_d$5_PayloadPageRegenerationEventData as PayloadPageRegenerationEventData, index_d$5_PayloadRequest as PayloadRequest, index_d$5_PayloadUserEventData as PayloadUserEventData, index_d$5_PaymentEventData as PaymentEventData, index_d$5_PaymentMethod as PaymentMethod, index_d$5_PaymentMethodType as PaymentMethodType, index_d$5_PaymentMode as PaymentMode, index_d$5_Permission as Permission, index_d$5_Platform as Platform, index_d$5_PresetConfig as PresetConfig, index_d$5_PresetRegistry as PresetRegistry, index_d$5_ProcessPaymentSuccessRequest as ProcessPaymentSuccessRequest, index_d$5_ProcessPaymentSuccessResponse as ProcessPaymentSuccessResponse, index_d$5_ProductDeclaration as ProductDeclaration, index_d$5_ProviderInstances as ProviderInstances, index_d$5_RateLimitConfig as RateLimitConfig, index_d$5_RateLimitManager as RateLimitManager, index_d$5_RateLimitResult as RateLimitResult, index_d$5_RateLimitState as RateLimitState, index_d$5_RateLimiter as RateLimiter, index_d$5_ReadCallback as ReadCallback, index_d$5_Reference as Reference, index_d$5_RefreshSubscriptionRequest as RefreshSubscriptionRequest, index_d$5_RefreshSubscriptionResponse as RefreshSubscriptionResponse, index_d$5_RemoveCustomClaimsResponse as RemoveCustomClaimsResponse, index_d$5_ResolvedLayoutConfig as ResolvedLayoutConfig, index_d$5_RevokeGitHubAccessRequest as RevokeGitHubAccessRequest, index_d$5_RouteMeta as RouteMeta, index_d$5_RouteSource as RouteSource, index_d$5_RoutesPluginConfig as RoutesPluginConfig, index_d$5_SEOConfig as SEOConfig, index_d$5_SchemaMetadata as SchemaMetadata, index_d$5_SetCustomClaimsResponse as SetCustomClaimsResponse, index_d$5_SidebarZoneConfig as SidebarZoneConfig, index_d$5_SlotContent as SlotContent, index_d$5_StorageOptions as StorageOptions, index_d$5_StorageScope as StorageScope, index_d$5_StorageType as StorageType, index_d$5_Store as Store, index_d$5_StoreApi as StoreApi, index_d$5_StripeBackConfig as StripeBackConfig, index_d$5_StripeCheckoutRequest as StripeCheckoutRequest, index_d$5_StripeCheckoutResponse as StripeCheckoutResponse, index_d$5_StripeCheckoutSessionEventData as StripeCheckoutSessionEventData, index_d$5_StripeConfig as StripeConfig, index_d$5_StripeCustomer as StripeCustomer, index_d$5_StripeCustomerEventData as StripeCustomerEventData, index_d$5_StripeEventData as StripeEventData, index_d$5_StripeEventKey as StripeEventKey, index_d$5_StripeEventName as StripeEventName, index_d$5_StripeFrontConfig as StripeFrontConfig, index_d$5_StripeInvoice as StripeInvoice, index_d$5_StripeInvoiceEventData as StripeInvoiceEventData, index_d$5_StripePayment as StripePayment, index_d$5_StripePaymentIntentEventData as StripePaymentIntentEventData, index_d$5_StripePaymentMethod as StripePaymentMethod, index_d$5_StripePrice as StripePrice, index_d$5_StripeProduct as StripeProduct, index_d$5_StripeProvider as StripeProvider, index_d$5_StripeSubscription as StripeSubscription, index_d$5_StripeSubscriptionData as StripeSubscriptionData, index_d$5_StripeWebhookEvent as StripeWebhookEvent, index_d$5_StripeWebhookEventData as StripeWebhookEventData, index_d$5_Subscription as Subscription, index_d$5_SubscriptionClaims as SubscriptionClaims, index_d$5_SubscriptionConfig as SubscriptionConfig, index_d$5_SubscriptionData as SubscriptionData, index_d$5_SubscriptionDuration as SubscriptionDuration, index_d$5_SubscriptionEventData as SubscriptionEventData, index_d$5_SubscriptionHookResult as SubscriptionHookResult, index_d$5_SubscriptionInfo as SubscriptionInfo, index_d$5_SubscriptionStatus as SubscriptionStatus, index_d$5_SubscriptionTier as SubscriptionTier, index_d$5_SupportedLanguage as SupportedLanguage, index_d$5_ThemeActions as ThemeActions, index_d$5_ThemeInfo as ThemeInfo, index_d$5_ThemeMode as ThemeMode, index_d$5_ThemeState as ThemeState, index_d$5_ThemesPluginConfig as ThemesPluginConfig, index_d$5_TierAccessHookResult as TierAccessHookResult, index_d$5_Timestamp as Timestamp, index_d$5_TokenInfo as TokenInfo, index_d$5_TokenResponse as TokenResponse, index_d$5_TokenState as TokenState, index_d$5_TokenStatus as TokenStatus, index_d$5_TranslationOptions as TranslationOptions, index_d$5_TranslationResource as TranslationResource, index_d$5_UIFieldOptions as UIFieldOptions, index_d$5_UniqueConstraintValidator as UniqueConstraintValidator, index_d$5_UnsubscribeFn as UnsubscribeFn, index_d$5_UpdateEntityData as UpdateEntityData, index_d$5_UpdateEntityRequest as UpdateEntityRequest, index_d$5_UpdateEntityResponse as UpdateEntityResponse, index_d$5_UseFunctionsMutationOptions as UseFunctionsMutationOptions, index_d$5_UseFunctionsQueryOptions as UseFunctionsQueryOptions, index_d$5_UseTranslationOptionsEnhanced as UseTranslationOptionsEnhanced, index_d$5_UserContext as UserContext, index_d$5_UserProfile as UserProfile, index_d$5_UserProviderData as UserProviderData, index_d$5_UserRole as UserRole, index_d$5_UserSubscription as UserSubscription, index_d$5_ValidationRules as ValidationRules, index_d$5_ValueTypeForField as ValueTypeForField, index_d$5_Visibility as Visibility, index_d$5_WebhookEvent as WebhookEvent, index_d$5_WebhookEventData as WebhookEventData, index_d$5_WhereClause as WhereClause, index_d$5_WhereOperator as WhereOperator, index_d$5_WithMetadata as WithMetadata, index_d$5_dndevSchema as dndevSchema };
11696
+ export { index_d$5_AUTH_EVENTS as AUTH_EVENTS, index_d$5_AUTH_PARTNERS as AUTH_PARTNERS, index_d$5_AUTH_PARTNER_STATE as AUTH_PARTNER_STATE, index_d$5_AuthUserSchema as AuthUserSchema, index_d$5_BILLING_EVENTS as BILLING_EVENTS, index_d$5_BREAKPOINT_RANGES as BREAKPOINT_RANGES, index_d$5_BREAKPOINT_THRESHOLDS as BREAKPOINT_THRESHOLDS, index_d$5_COMMON_TIER_CONFIGS as COMMON_TIER_CONFIGS, index_d$5_CONFIDENCE_LEVELS as CONFIDENCE_LEVELS, index_d$5_CONSENT_CATEGORY as CONSENT_CATEGORY, index_d$5_CONTEXTS as CONTEXTS, index_d$5_CheckoutSessionMetadataSchema as CheckoutSessionMetadataSchema, index_d$5_CreateCheckoutSessionRequestSchema as CreateCheckoutSessionRequestSchema, index_d$5_CreateCheckoutSessionResponseSchema as CreateCheckoutSessionResponseSchema, index_d$5_CustomClaimsSchema as CustomClaimsSchema, index_d$5_DEFAULT_LAYOUT_PRESET as DEFAULT_LAYOUT_PRESET, index_d$5_DEFAULT_SUBSCRIPTION as DEFAULT_SUBSCRIPTION, index_d$5_DENSITY as DENSITY, index_d$5_DoNotDevError as DoNotDevError, index_d$5_ENVIRONMENTS as ENVIRONMENTS, index_d$5_EntityHookError as EntityHookError, index_d$5_FEATURES as FEATURES, index_d$5_FEATURE_CONSENT_MATRIX as FEATURE_CONSENT_MATRIX, index_d$5_FEATURE_STATUS as FEATURE_STATUS, index_d$5_FIREBASE_ERROR_MAP as FIREBASE_ERROR_MAP, index_d$5_FIRESTORE_ID_PATTERN as FIRESTORE_ID_PATTERN, index_d$5_GITHUB_PERMISSION_LEVELS as GITHUB_PERMISSION_LEVELS, index_d$5_LAYOUT_PRESET as LAYOUT_PRESET, index_d$5_OAUTH_EVENTS as OAUTH_EVENTS, index_d$5_OAUTH_PARTNERS as OAUTH_PARTNERS, index_d$5_PARTNER_ICONS as PARTNER_ICONS, index_d$5_PAYLOAD_EVENTS as PAYLOAD_EVENTS, index_d$5_PERMISSIONS as PERMISSIONS, index_d$5_PLATFORMS as PLATFORMS, index_d$5_PWA_ASSET_TYPES as PWA_ASSET_TYPES, index_d$5_PWA_DISPLAY_MODES as PWA_DISPLAY_MODES, index_d$5_ProductDeclarationSchema as ProductDeclarationSchema, index_d$5_ProductDeclarationsSchema as ProductDeclarationsSchema, index_d$5_ROUTE_SOURCES as ROUTE_SOURCES, index_d$5_ReactNode as ReactNode, index_d$5_STORAGE_SCOPES as STORAGE_SCOPES, index_d$5_STORAGE_TYPES as STORAGE_TYPES, index_d$5_STRIPE_EVENTS as STRIPE_EVENTS, index_d$5_STRIPE_MODES as STRIPE_MODES, index_d$5_SUBSCRIPTION_DURATIONS as SUBSCRIPTION_DURATIONS, index_d$5_SUBSCRIPTION_STATUS as SUBSCRIPTION_STATUS, index_d$5_SUBSCRIPTION_TIERS as SUBSCRIPTION_TIERS, index_d$5_StripeBackConfigSchema as StripeBackConfigSchema, index_d$5_StripeFrontConfigSchema as StripeFrontConfigSchema, index_d$5_StripePaymentSchema as StripePaymentSchema, index_d$5_StripeSubscriptionSchema as StripeSubscriptionSchema, index_d$5_SubscriptionClaimsSchema as SubscriptionClaimsSchema, index_d$5_SubscriptionDataSchema as SubscriptionDataSchema, index_d$5_USER_ROLES as USER_ROLES, index_d$5_UserSubscriptionSchema as UserSubscriptionSchema, index_d$5_WebhookEventSchema as WebhookEventSchema, index_d$5_checkGitHubAccessSchema as checkGitHubAccessSchema, index_d$5_createDefaultSubscriptionClaims as createDefaultSubscriptionClaims, index_d$5_createDefaultUserProfile as createDefaultUserProfile, index_d$5_createEntitySchema as createEntitySchema, index_d$5_deleteEntitySchema as deleteEntitySchema, index_d$5_disconnectOAuthSchema as disconnectOAuthSchema, index_d$5_exchangeTokenSchema as exchangeTokenSchema, index_d$5_getBreakpointFromWidth as getBreakpointFromWidth, index_d$5_getBreakpointUtils as getBreakpointUtils, index_d$5_getConnectionsSchema as getConnectionsSchema, index_d$5_getEntitySchema as getEntitySchema, index_d$5_githubPermissionSchema as githubPermissionSchema, index_d$5_githubRepoConfigSchema as githubRepoConfigSchema, index_d$5_grantGitHubAccessSchema as grantGitHubAccessSchema, index_d$5_isAuthPartnerId as isAuthPartnerId, index_d$5_isBreakpoint as isBreakpoint, index_d$5_isOAuthPartnerId as isOAuthPartnerId, index_d$5_listEntitiesSchema as listEntitiesSchema, index_d$5_overrideFeatures as overrideFeatures, index_d$5_overridePaymentModes as overridePaymentModes, index_d$5_overridePermissions as overridePermissions, index_d$5_overrideSubscriptionStatus as overrideSubscriptionStatus, index_d$5_overrideSubscriptionTiers as overrideSubscriptionTiers, index_d$5_overrideUserRoles as overrideUserRoles, index_d$5_refreshTokenSchema as refreshTokenSchema, index_d$5_revokeGitHubAccessSchema as revokeGitHubAccessSchema, index_d$5_updateEntitySchema as updateEntitySchema, index_d$5_validateAuthPartners as validateAuthPartners, index_d$5_validateAuthSchemas as validateAuthSchemas, index_d$5_validateAuthUser as validateAuthUser, index_d$5_validateBillingSchemas as validateBillingSchemas, index_d$5_validateCheckoutSessionMetadata as validateCheckoutSessionMetadata, index_d$5_validateCreateCheckoutSessionRequest as validateCreateCheckoutSessionRequest, index_d$5_validateCreateCheckoutSessionResponse as validateCreateCheckoutSessionResponse, index_d$5_validateCustomClaims as validateCustomClaims, index_d$5_validateOAuthPartners as validateOAuthPartners, index_d$5_validateStripeBackConfig as validateStripeBackConfig, index_d$5_validateStripeFrontConfig as validateStripeFrontConfig, index_d$5_validateSubscriptionClaims as validateSubscriptionClaims, index_d$5_validateSubscriptionData as validateSubscriptionData, index_d$5_validateUserSubscription as validateUserSubscription, index_d$5_validateWebhookEvent as validateWebhookEvent };
11697
+ export type { index_d$5_AccountLinkResult as AccountLinkResult, index_d$5_AccountLinkingInfo as AccountLinkingInfo, index_d$5_AdminCheckHookResult as AdminCheckHookResult, index_d$5_AdminClaims as AdminClaims, index_d$5_ApiResponse as ApiResponse, index_d$5_AppConfig as AppConfig, index_d$5_AppCookieCategories as AppCookieCategories, index_d$5_AppMetadata as AppMetadata, index_d$5_AppProvidersProps as AppProvidersProps, index_d$5_AssetsPluginConfig as AssetsPluginConfig, index_d$5_AttemptRecord as AttemptRecord, index_d$5_AuthAPI as AuthAPI, index_d$5_AuthActions as AuthActions, index_d$5_AuthConfig as AuthConfig, index_d$5_AuthContextValue as AuthContextValue, index_d$5_AuthCoreHookResult as AuthCoreHookResult, index_d$5_AuthError as AuthError, index_d$5_AuthEventData as AuthEventData, index_d$5_AuthEventKey as AuthEventKey, index_d$5_AuthEventName as AuthEventName, index_d$5_AuthMethod as AuthMethod, index_d$5_AuthPartner as AuthPartner, index_d$5_AuthPartnerButton as AuthPartnerButton, index_d$5_AuthPartnerHookResult as AuthPartnerHookResult, index_d$5_AuthPartnerId as AuthPartnerId, index_d$5_AuthPartnerResult as AuthPartnerResult, index_d$5_AuthPartnerState as AuthPartnerState, index_d$5_AuthProvider as AuthProvider, index_d$5_AuthProviderProps as AuthProviderProps, index_d$5_AuthRedirectHookResult as AuthRedirectHookResult, index_d$5_AuthRedirectOptions as AuthRedirectOptions, index_d$5_AuthResult as AuthResult, index_d$5_AuthState as AuthState, index_d$5_AuthStateStore as AuthStateStore, index_d$5_AuthStatus as AuthStatus, index_d$5_AuthTokenHookResult as AuthTokenHookResult, index_d$5_AuthUser as AuthUser, index_d$5_BaseActions as BaseActions, index_d$5_BaseCredentials as BaseCredentials, index_d$5_BaseDocument as BaseDocument, index_d$5_BaseEntityFields as BaseEntityFields, index_d$5_BasePartnerState as BasePartnerState, index_d$5_BaseState as BaseState, index_d$5_BaseStoreActions as BaseStoreActions, index_d$5_BaseStoreState as BaseStoreState, index_d$5_BaseUserProfile as BaseUserProfile, index_d$5_BasicUserInfo as BasicUserInfo, index_d$5_BillingAPI as BillingAPI, index_d$5_BillingAdapter as BillingAdapter, index_d$5_BillingErrorCode as BillingErrorCode, index_d$5_BillingEvent as BillingEvent, index_d$5_BillingEventData as BillingEventData, index_d$5_BillingEventKey as BillingEventKey, index_d$5_BillingEventName as BillingEventName, index_d$5_BillingProvider as BillingProvider, index_d$5_BillingProviderConfig as BillingProviderConfig, index_d$5_Breakpoint as Breakpoint, index_d$5_BreakpointUtils as BreakpointUtils, index_d$5_BusinessEntity as BusinessEntity, index_d$5_CachedError as CachedError, index_d$5_CanAPI as CanAPI, index_d$5_CheckGitHubAccessRequest as CheckGitHubAccessRequest, index_d$5_CheckoutMode as CheckoutMode, index_d$5_CheckoutOptions as CheckoutOptions, index_d$5_CheckoutSessionMetadata as CheckoutSessionMetadata, index_d$5_ColumnDef as ColumnDef, index_d$5_CommonSubscriptionFeatures as CommonSubscriptionFeatures, index_d$5_CommonTranslations as CommonTranslations, index_d$5_ConfidenceLevel as ConfidenceLevel, index_d$5_ConsentAPI as ConsentAPI, index_d$5_ConsentActions as ConsentActions, index_d$5_ConsentCategory as ConsentCategory, index_d$5_ConsentState as ConsentState, index_d$5_Context as Context, index_d$5_CookieOptions as CookieOptions, index_d$5_CreateCheckoutSessionRequest as CreateCheckoutSessionRequest, index_d$5_CreateCheckoutSessionResponse as CreateCheckoutSessionResponse, index_d$5_CreateEntityData as CreateEntityData, index_d$5_CreateEntityRequest as CreateEntityRequest, index_d$5_CreateEntityResponse as CreateEntityResponse, index_d$5_CrudAPI as CrudAPI, index_d$5_CustomClaims as CustomClaims, index_d$5_CustomStoreConfig as CustomStoreConfig, index_d$5_DateValue as DateValue, index_d$5_DeleteEntityRequest as DeleteEntityRequest, index_d$5_DeleteEntityResponse as DeleteEntityResponse, index_d$5_Density as Density, index_d$5_DnDevLayoutProps as DnDevLayoutProps, index_d$5_DnDevOverride as DnDevOverride, index_d$5_DndevFrameworkConfig as DndevFrameworkConfig, index_d$5_DoNotDevCookieCategories as DoNotDevCookieCategories, index_d$5_DynamicFormRule as DynamicFormRule, index_d$5_EffectiveConnectionType as EffectiveConnectionType, index_d$5_EmailVerificationHookResult as EmailVerificationHookResult, index_d$5_EmailVerificationStatus as EmailVerificationStatus, index_d$5_Entity as Entity, index_d$5_EntityField as EntityField, index_d$5_EntityHookErrors as EntityHookErrors, index_d$5_EntityMetadata as EntityMetadata, index_d$5_EntityTemplateProps as EntityTemplateProps, index_d$5_EntityTranslations as EntityTranslations, index_d$5_EnvironmentMode as EnvironmentMode, index_d$5_ErrorCode as ErrorCode, index_d$5_ErrorSeverity as ErrorSeverity, index_d$5_ErrorSource as ErrorSource, index_d$5_ExchangeTokenParams as ExchangeTokenParams, index_d$5_ExchangeTokenRequest as ExchangeTokenRequest, index_d$5_FaviconConfig as FaviconConfig, index_d$5_Feature as Feature, index_d$5_FeatureAccessHookResult as FeatureAccessHookResult, index_d$5_FeatureConsentRequirement as FeatureConsentRequirement, index_d$5_FeatureHookResult as FeatureHookResult, index_d$5_FeatureId as FeatureId, index_d$5_FeatureName as FeatureName, index_d$5_FeatureStatus as FeatureStatus, index_d$5_FeaturesConfig as FeaturesConfig, index_d$5_FeaturesPluginConfig as FeaturesPluginConfig, index_d$5_FeaturesRequiringAnyConsent as FeaturesRequiringAnyConsent, index_d$5_FeaturesRequiringConsent as FeaturesRequiringConsent, index_d$5_FeaturesWithoutConsent as FeaturesWithoutConsent, index_d$5_FieldCondition as FieldCondition, index_d$5_FieldConfig as FieldConfig, index_d$5_FieldType as FieldType, index_d$5_FieldTypeToValue as FieldTypeToValue, index_d$5_FirebaseCallOptions as FirebaseCallOptions, index_d$5_FirebaseConfig as FirebaseConfig, index_d$5_FirestoreTimestamp as FirestoreTimestamp, index_d$5_FirestoreUniqueConstraintValidator as FirestoreUniqueConstraintValidator, index_d$5_FooterConfig as FooterConfig, index_d$5_FooterZoneConfig as FooterZoneConfig, index_d$5_FormConfig as FormConfig, index_d$5_FormStep as FormStep, index_d$5_FunctionCallConfig as FunctionCallConfig, index_d$5_FunctionCallContext as FunctionCallContext, index_d$5_FunctionCallOptions as FunctionCallOptions, index_d$5_FunctionCallResult as FunctionCallResult, index_d$5_FunctionClient as FunctionClient, index_d$5_FunctionClientFactoryOptions as FunctionClientFactoryOptions, index_d$5_FunctionError as FunctionError, index_d$5_FunctionLoader as FunctionLoader, index_d$5_FunctionPlatform as FunctionPlatform, index_d$5_FunctionResponse as FunctionResponse, index_d$5_FunctionSchema as FunctionSchema, index_d$5_FunctionSchemas as FunctionSchemas, index_d$5_FunctionSystem as FunctionSystem, index_d$5_GetCustomClaimsResponse as GetCustomClaimsResponse, index_d$5_GetEntityData as GetEntityData, index_d$5_GetEntityRequest as GetEntityRequest, index_d$5_GetEntityResponse as GetEntityResponse, index_d$5_GetUserAuthStatusResponse as GetUserAuthStatusResponse, index_d$5_GitHubPermission as GitHubPermission, index_d$5_GitHubRepoConfig as GitHubRepoConfig, index_d$5_GrantGitHubAccessRequest as GrantGitHubAccessRequest, index_d$5_HeaderZoneConfig as HeaderZoneConfig, index_d$5_I18nConfig as I18nConfig, index_d$5_I18nPluginConfig as I18nPluginConfig, index_d$5_I18nProviderProps as I18nProviderProps, index_d$5_ID as ID, index_d$5_INetworkManager as INetworkManager, index_d$5_IStorageManager as IStorageManager, index_d$5_IStorageStrategy as IStorageStrategy, index_d$5_Invoice as Invoice, index_d$5_InvoiceItem as InvoiceItem, index_d$5_LanguageInfo as LanguageInfo, index_d$5_LayoutConfig as LayoutConfig, index_d$5_LayoutInput as LayoutInput, index_d$5_LayoutPreset as LayoutPreset, index_d$5_LegalCompanyInfo as LegalCompanyInfo, index_d$5_LegalConfig as LegalConfig, index_d$5_LegalContactInfo as LegalContactInfo, index_d$5_LegalDirectorInfo as LegalDirectorInfo, index_d$5_LegalHostingInfo as LegalHostingInfo, index_d$5_LegalJurisdictionInfo as LegalJurisdictionInfo, index_d$5_LegalSectionsConfig as LegalSectionsConfig, index_d$5_LegalWebsiteInfo as LegalWebsiteInfo, index_d$5_ListEntitiesRequest as ListEntitiesRequest, index_d$5_ListEntitiesResponse as ListEntitiesResponse, index_d$5_ListEntityData as ListEntityData, index_d$5_ListOptions as ListOptions, index_d$5_ListResponse as ListResponse, index_d$5_LoadingActions as LoadingActions, index_d$5_LoadingState as LoadingState, index_d$5_MergedBarConfig as MergedBarConfig, index_d$5_MobileBehaviorConfig as MobileBehaviorConfig, index_d$5_ModalActions as ModalActions, index_d$5_ModalState as ModalState, index_d$5_MutationResponse as MutationResponse, index_d$5_NavigationRoute as NavigationRoute, index_d$5_NetworkCheckConfig as NetworkCheckConfig, index_d$5_NetworkConnectionType as NetworkConnectionType, index_d$5_NetworkReconnectCallback as NetworkReconnectCallback, NetworkState$1 as NetworkState, index_d$5_NetworkStatus as NetworkStatus, index_d$5_NetworkStatusHookResult as NetworkStatusHookResult, index_d$5_OAuthAPI as OAuthAPI, index_d$5_OAuthApiRequestOptions as OAuthApiRequestOptions, index_d$5_OAuthCallbackHookResult as OAuthCallbackHookResult, index_d$5_OAuthConnection as OAuthConnection, index_d$5_OAuthConnectionInfo as OAuthConnectionInfo, index_d$5_OAuthConnectionRequest as OAuthConnectionRequest, index_d$5_OAuthConnectionStatus as OAuthConnectionStatus, index_d$5_OAuthCredentials as OAuthCredentials, index_d$5_OAuthEventData as OAuthEventData, index_d$5_OAuthEventKey as OAuthEventKey, index_d$5_OAuthEventName as OAuthEventName, index_d$5_OAuthPartner as OAuthPartner, index_d$5_OAuthPartnerButton as OAuthPartnerButton, index_d$5_OAuthPartnerHookResult as OAuthPartnerHookResult, index_d$5_OAuthPartnerId as OAuthPartnerId, index_d$5_OAuthPartnerResult as OAuthPartnerResult, index_d$5_OAuthPartnerState as OAuthPartnerState, index_d$5_OAuthPurpose as OAuthPurpose, index_d$5_OAuthRefreshRequest as OAuthRefreshRequest, index_d$5_OAuthRefreshResponse as OAuthRefreshResponse, index_d$5_OAuthResult as OAuthResult, index_d$5_OAuthStoreActions as OAuthStoreActions, index_d$5_OAuthStoreState as OAuthStoreState, index_d$5_Observable as Observable, index_d$5_OrderByClause as OrderByClause, index_d$5_PWAAssetType as PWAAssetType, index_d$5_PWADisplayMode as PWADisplayMode, index_d$5_PWAPluginConfig as PWAPluginConfig, index_d$5_PageAuth as PageAuth, index_d$5_PageMeta as PageMeta, index_d$5_PaginationOptions as PaginationOptions, index_d$5_PartnerButton as PartnerButton, index_d$5_PartnerConnectionState as PartnerConnectionState, index_d$5_PartnerIconId as PartnerIconId, index_d$5_PartnerId as PartnerId, index_d$5_PartnerResult as PartnerResult, index_d$5_PartnerType as PartnerType, index_d$5_PayloadCacheEventData as PayloadCacheEventData, index_d$5_PayloadDocument as PayloadDocument, index_d$5_PayloadDocumentEventData as PayloadDocumentEventData, index_d$5_PayloadEventKey as PayloadEventKey, index_d$5_PayloadEventName as PayloadEventName, index_d$5_PayloadGlobalEventData as PayloadGlobalEventData, index_d$5_PayloadMediaEventData as PayloadMediaEventData, index_d$5_PayloadPageRegenerationEventData as PayloadPageRegenerationEventData, index_d$5_PayloadRequest as PayloadRequest, index_d$5_PayloadUserEventData as PayloadUserEventData, index_d$5_PaymentEventData as PaymentEventData, index_d$5_PaymentMethod as PaymentMethod, index_d$5_PaymentMethodType as PaymentMethodType, index_d$5_PaymentMode as PaymentMode, index_d$5_Permission as Permission, index_d$5_Platform as Platform, index_d$5_PresetConfig as PresetConfig, index_d$5_PresetRegistry as PresetRegistry, index_d$5_ProcessPaymentSuccessRequest as ProcessPaymentSuccessRequest, index_d$5_ProcessPaymentSuccessResponse as ProcessPaymentSuccessResponse, index_d$5_ProductDeclaration as ProductDeclaration, index_d$5_ProviderInstances as ProviderInstances, index_d$5_RateLimitConfig as RateLimitConfig, index_d$5_RateLimitManager as RateLimitManager, index_d$5_RateLimitResult as RateLimitResult, index_d$5_RateLimitState as RateLimitState, index_d$5_RateLimiter as RateLimiter, index_d$5_ReadCallback as ReadCallback, index_d$5_Reference as Reference, index_d$5_RefreshSubscriptionRequest as RefreshSubscriptionRequest, index_d$5_RefreshSubscriptionResponse as RefreshSubscriptionResponse, index_d$5_RemoveCustomClaimsResponse as RemoveCustomClaimsResponse, index_d$5_ResolvedLayoutConfig as ResolvedLayoutConfig, index_d$5_RevokeGitHubAccessRequest as RevokeGitHubAccessRequest, index_d$5_RouteMeta as RouteMeta, index_d$5_RouteSource as RouteSource, index_d$5_RoutesPluginConfig as RoutesPluginConfig, index_d$5_SEOConfig as SEOConfig, index_d$5_SchemaMetadata as SchemaMetadata, index_d$5_SetCustomClaimsResponse as SetCustomClaimsResponse, index_d$5_SidebarZoneConfig as SidebarZoneConfig, index_d$5_SlotContent as SlotContent, index_d$5_StorageOptions as StorageOptions, index_d$5_StorageScope as StorageScope, index_d$5_StorageType as StorageType, index_d$5_Store as Store, index_d$5_StoreApi as StoreApi, index_d$5_StripeBackConfig as StripeBackConfig, index_d$5_StripeCheckoutRequest as StripeCheckoutRequest, index_d$5_StripeCheckoutResponse as StripeCheckoutResponse, index_d$5_StripeCheckoutSessionEventData as StripeCheckoutSessionEventData, index_d$5_StripeConfig as StripeConfig, index_d$5_StripeCustomer as StripeCustomer, index_d$5_StripeCustomerEventData as StripeCustomerEventData, index_d$5_StripeEventData as StripeEventData, index_d$5_StripeEventKey as StripeEventKey, index_d$5_StripeEventName as StripeEventName, index_d$5_StripeFrontConfig as StripeFrontConfig, index_d$5_StripeInvoice as StripeInvoice, index_d$5_StripeInvoiceEventData as StripeInvoiceEventData, index_d$5_StripePayment as StripePayment, index_d$5_StripePaymentIntentEventData as StripePaymentIntentEventData, index_d$5_StripePaymentMethod as StripePaymentMethod, index_d$5_StripePrice as StripePrice, index_d$5_StripeProduct as StripeProduct, index_d$5_StripeProvider as StripeProvider, index_d$5_StripeSubscription as StripeSubscription, index_d$5_StripeSubscriptionData as StripeSubscriptionData, index_d$5_StripeWebhookEvent as StripeWebhookEvent, index_d$5_StripeWebhookEventData as StripeWebhookEventData, index_d$5_Subscription as Subscription, index_d$5_SubscriptionClaims as SubscriptionClaims, index_d$5_SubscriptionConfig as SubscriptionConfig, index_d$5_SubscriptionData as SubscriptionData, index_d$5_SubscriptionDuration as SubscriptionDuration, index_d$5_SubscriptionEventData as SubscriptionEventData, index_d$5_SubscriptionHookResult as SubscriptionHookResult, index_d$5_SubscriptionInfo as SubscriptionInfo, index_d$5_SubscriptionStatus as SubscriptionStatus, index_d$5_SubscriptionTier as SubscriptionTier, index_d$5_SupportedLanguage as SupportedLanguage, index_d$5_ThemeActions as ThemeActions, index_d$5_ThemeInfo as ThemeInfo, index_d$5_ThemeMode as ThemeMode, index_d$5_ThemeState as ThemeState, index_d$5_ThemesPluginConfig as ThemesPluginConfig, index_d$5_TierAccessHookResult as TierAccessHookResult, index_d$5_Timestamp as Timestamp, index_d$5_TokenInfo as TokenInfo, index_d$5_TokenResponse as TokenResponse, index_d$5_TokenState as TokenState, index_d$5_TokenStatus as TokenStatus, index_d$5_TranslationOptions as TranslationOptions, index_d$5_TranslationResource as TranslationResource, index_d$5_UIFieldOptions as UIFieldOptions, index_d$5_UniqueConstraintValidator as UniqueConstraintValidator, index_d$5_UnsubscribeFn as UnsubscribeFn, index_d$5_UpdateEntityData as UpdateEntityData, index_d$5_UpdateEntityRequest as UpdateEntityRequest, index_d$5_UpdateEntityResponse as UpdateEntityResponse, index_d$5_UseFunctionsMutationOptions as UseFunctionsMutationOptions, index_d$5_UseFunctionsQueryOptions as UseFunctionsQueryOptions, index_d$5_UseTranslationOptionsEnhanced as UseTranslationOptionsEnhanced, index_d$5_UserContext as UserContext, index_d$5_UserProfile as UserProfile, index_d$5_UserProviderData as UserProviderData, index_d$5_UserRole as UserRole, index_d$5_UserSubscription as UserSubscription, index_d$5_ValidationRules as ValidationRules, index_d$5_ValueTypeForField as ValueTypeForField, index_d$5_Visibility as Visibility, index_d$5_WebhookEvent as WebhookEvent, index_d$5_WebhookEventData as WebhookEventData, index_d$5_WhereClause as WhereClause, index_d$5_WhereOperator as WhereOperator, index_d$5_WithMetadata as WithMetadata, index_d$5_dndevSchema as dndevSchema };
11567
11698
  }
11568
11699
 
11569
11700
  /**
@@ -15862,12 +15993,17 @@ declare function canRedirectExternally(): boolean;
15862
15993
  declare function getCurrentOrigin(): string | null;
15863
15994
 
15864
15995
  /**
15865
- * @fileoverview Degraded API constants for graceful degradation
15866
- * @description Centralized degraded API objects for all feature packages (auth, billing, crud)
15867
- * These are used when features are not installed or not available, ensuring graceful degradation
15868
- * throughout the framework.
15996
+ * @fileoverview Degraded API Constants
15997
+ * @description Centralized degraded API objects for all feature packages (auth, billing, crud, oauth).
15998
+ * Used when features are not installed or consent not given, ensuring graceful degradation.
15869
15999
  *
15870
- * @version 0.0.2
16000
+ * **Each degraded API:**
16001
+ * - Returns safe defaults (null, empty arrays, no-op functions)
16002
+ * - Sets `status: 'degraded'` for guards to handle
16003
+ * - Guards redirect protected routes to auth route with error message
16004
+ * - Public routes continue to work normally
16005
+ *
16006
+ * @version 0.0.3
15871
16007
  * @since 0.0.1
15872
16008
  * @author AMBROISE PARK Consulting
15873
16009
  */
@@ -15882,6 +16018,7 @@ declare const AUTH_STORE_KEYS: Set<keyof AuthAPI>;
15882
16018
  declare const AUTH_COMPUTED_KEYS: Set<keyof AuthAPI>;
15883
16019
  /**
15884
16020
  * Billing store keys - keys that come from local state (useState, not Zustand)
16021
+ * Note: `status` is computed, not stored
15885
16022
  */
15886
16023
  declare const BILLING_STORE_KEYS: Set<keyof BillingAPI>;
15887
16024
  /**
@@ -16496,324 +16633,6 @@ declare function withGracefulDegradation<T>(init: () => Promise<T>, fallback: ()
16496
16633
  */
16497
16634
  declare function lazyImport<T>(importFn: () => Promise<T>, cacheKey: string): Promise<T>;
16498
16635
 
16499
- /**
16500
- * @fileoverview Observability metrics collector
16501
- * @description CSR/SSR safe observability system with React 19 compatibility
16502
- *
16503
- * @version 0.0.1
16504
- * @since 0.0.1
16505
- * @author AMBROISE PARK Consulting
16506
- */
16507
-
16508
- /**
16509
- * Observability metrics collector
16510
- * CSR/SSR safe with React 19 compatibility
16511
- *
16512
- * @version 0.0.1
16513
- * @since 0.0.1
16514
- * @author AMBROISE PARK Consulting
16515
- */
16516
- declare class ObservabilityCollector {
16517
- private static instance;
16518
- private metrics;
16519
- private isEnabled;
16520
- private config;
16521
- private constructor();
16522
- static getInstance(): ObservabilityCollector;
16523
- /**
16524
- * Initialize observability with configuration
16525
- */
16526
- initialize(config: ObservabilityConfig): void;
16527
- /**
16528
- * Track store initialization metrics
16529
- */
16530
- trackStoreInit(storeName: string, startTime: number, endTime: number, success: boolean): void;
16531
- /**
16532
- * Track performance metrics
16533
- */
16534
- trackPerformance(metricName: string, value: number, metadata?: Record<string, any>): void;
16535
- /**
16536
- * Track health check status
16537
- */
16538
- trackHealthCheck(service: string, status: 'healthy' | 'unhealthy', details?: any): void;
16539
- /**
16540
- * Track debugging information
16541
- */
16542
- trackDebug(event: string, data: any): void;
16543
- /**
16544
- * Get all metrics
16545
- */
16546
- getMetrics(): Record<string, any>;
16547
- /**
16548
- * Clear metrics
16549
- */
16550
- clearMetrics(): void;
16551
- /**
16552
- * Emit metric to external systems
16553
- */
16554
- private emitMetric;
16555
- /**
16556
- * Get platform information
16557
- */
16558
- private getPlatform;
16559
- }
16560
- /**
16561
- * Global observability instance
16562
- */
16563
- declare const observability: ObservabilityCollector;
16564
- /**
16565
- * Initialize observability with configuration
16566
- *
16567
- * @version 0.0.1
16568
- * @since 0.0.1
16569
- * @author AMBROISE PARK Consulting
16570
- */
16571
- declare function initializeObservability(config: ObservabilityConfig): void;
16572
- /**
16573
- * Track store initialization
16574
- *
16575
- * @version 0.0.1
16576
- * @since 0.0.1
16577
- * @author AMBROISE PARK Consulting
16578
- */
16579
- declare function trackStoreInitialization(storeName: string, startTime: number, endTime: number, success: boolean): void;
16580
- /**
16581
- * Track performance metrics
16582
- *
16583
- * @version 0.0.1
16584
- * @since 0.0.1
16585
- * @author AMBROISE PARK Consulting
16586
- */
16587
- declare function trackPerformance(metricName: string, value: number, metadata?: Record<string, any>): void;
16588
- /**
16589
- * Track health check
16590
- *
16591
- * @version 0.0.1
16592
- * @since 0.0.1
16593
- * @author AMBROISE PARK Consulting
16594
- */
16595
- declare function trackHealthCheck(service: string, status: 'healthy' | 'unhealthy', details?: any): void;
16596
- /**
16597
- * Track debug information
16598
- *
16599
- * @version 0.0.1
16600
- * @since 0.0.1
16601
- * @author AMBROISE PARK Consulting
16602
- */
16603
- declare function trackDebug(event: string, data: any): void;
16604
- /**
16605
- * Get observability metrics
16606
- *
16607
- * @version 0.0.1
16608
- * @since 0.0.1
16609
- * @author AMBROISE PARK Consulting
16610
- */
16611
- declare function getObservabilityMetrics(): Record<string, any>;
16612
-
16613
- /**
16614
- * Health check status interface
16615
- *
16616
- * @version 0.0.1
16617
- * @since 0.0.1
16618
- * @author AMBROISE PARK Consulting
16619
- */
16620
- interface HealthStatus {
16621
- service: string;
16622
- status: 'healthy' | 'unhealthy';
16623
- timestamp: number;
16624
- details?: any;
16625
- }
16626
- /**
16627
- * Health check registry
16628
- *
16629
- * @version 0.0.1
16630
- * @since 0.0.1
16631
- * @author AMBROISE PARK Consulting
16632
- */
16633
- declare class HealthCheckRegistry {
16634
- private checks;
16635
- /**
16636
- * Register a health check
16637
- */
16638
- register(service: string, check: () => Promise<boolean>): void;
16639
- /**
16640
- * Run all health checks
16641
- */
16642
- runAll(): Promise<HealthStatus[]>;
16643
- /**
16644
- * Run specific health check
16645
- */
16646
- run(service: string): Promise<HealthStatus | null>;
16647
- }
16648
- /**
16649
- * Global health check registry
16650
- *
16651
- * @version 0.0.1
16652
- * @since 0.0.1
16653
- * @author AMBROISE PARK Consulting
16654
- */
16655
- declare const healthChecks: HealthCheckRegistry;
16656
- /**
16657
- * Register store health checks
16658
- *
16659
- * @version 0.0.1
16660
- * @since 0.0.1
16661
- * @author AMBROISE PARK Consulting
16662
- */
16663
- declare function registerStoreHealthChecks(): void;
16664
- /**
16665
- * Get health status for all services
16666
- *
16667
- * @version 0.0.1
16668
- * @since 0.0.1
16669
- * @author AMBROISE PARK Consulting
16670
- */
16671
- declare function getHealthStatus(): Promise<HealthStatus[]>;
16672
- /**
16673
- * Get health status for specific service
16674
- *
16675
- * @version 0.0.1
16676
- * @since 0.0.1
16677
- * @author AMBROISE PARK Consulting
16678
- */
16679
- declare function getServiceHealth(service: string): Promise<HealthStatus | null>;
16680
-
16681
- /**
16682
- * Performance metrics collector
16683
- * CSR/SSR safe with React 19 compatibility
16684
- *
16685
- * @version 0.0.1
16686
- * @since 0.0.1
16687
- * @author AMBROISE PARK Consulting
16688
- */
16689
- declare class PerformanceMonitor {
16690
- private static instance;
16691
- private marks;
16692
- private measures;
16693
- private constructor();
16694
- static getInstance(): PerformanceMonitor;
16695
- /**
16696
- * Mark a performance point
16697
- */
16698
- mark(name: string): void;
16699
- /**
16700
- * Measure performance between two marks
16701
- */
16702
- measure(name: string, startMark: string, endMark?: string): number;
16703
- /**
16704
- * Get performance measure
16705
- */
16706
- getMeasure(name: string): number | undefined;
16707
- /**
16708
- * Get all measures
16709
- */
16710
- getAllMeasures(): Record<string, number>;
16711
- /**
16712
- * Clear all marks and measures
16713
- */
16714
- clear(): void;
16715
- /**
16716
- * Get timestamp (CSR/SSR safe)
16717
- */
16718
- private getTimestamp;
16719
- }
16720
- /**
16721
- * Global performance monitor
16722
- *
16723
- * @version 0.0.1
16724
- * @since 0.0.1
16725
- * @author AMBROISE PARK Consulting
16726
- */
16727
- declare const performanceMonitor: PerformanceMonitor;
16728
- /**
16729
- * Mark performance point
16730
- *
16731
- * @version 0.0.1
16732
- * @since 0.0.1
16733
- * @author AMBROISE PARK Consulting
16734
- */
16735
- declare function markPerformance(name: string): void;
16736
- /**
16737
- * Measure performance
16738
- *
16739
- * @version 0.0.1
16740
- * @since 0.0.1
16741
- * @author AMBROISE PARK Consulting
16742
- */
16743
- declare function measurePerformance(name: string, startMark: string, endMark?: string): number;
16744
- /**
16745
- * Get performance measure
16746
- *
16747
- * @version 0.0.1
16748
- * @since 0.0.1
16749
- * @author AMBROISE PARK Consulting
16750
- */
16751
- declare function getPerformanceMeasure(name: string): number | undefined;
16752
- /**
16753
- * Get all performance measures
16754
- *
16755
- * @version 0.0.1
16756
- * @since 0.0.1
16757
- * @author AMBROISE PARK Consulting
16758
- */
16759
- declare function getAllPerformanceMeasures(): Record<string, number>;
16760
- /**
16761
- * Clear performance data
16762
- *
16763
- * @version 0.0.1
16764
- * @since 0.0.1
16765
- * @author AMBROISE PARK Consulting
16766
- */
16767
- declare function clearPerformanceData(): void;
16768
- /**
16769
- * Track Core Web Vitals
16770
- *
16771
- * @version 0.0.1
16772
- * @since 0.0.1
16773
- * @author AMBROISE PARK Consulting
16774
- */
16775
- declare function trackCoreWebVitals(): void;
16776
-
16777
- /**
16778
- * Health check endpoint response
16779
- *
16780
- * @version 0.0.1
16781
- * @since 0.0.1
16782
- * @author AMBROISE PARK Consulting
16783
- */
16784
- interface HealthEndpointResponse {
16785
- status: 'healthy' | 'unhealthy';
16786
- timestamp: number;
16787
- services: Array<{
16788
- service: string;
16789
- status: 'healthy' | 'unhealthy';
16790
- timestamp: number;
16791
- details?: any;
16792
- }>;
16793
- metrics?: Record<string, any>;
16794
- }
16795
- /**
16796
- * Create health check endpoint handler
16797
- * Compatible with Next.js API routes
16798
- *
16799
- * @version 0.0.1
16800
- * @since 0.0.1
16801
- * @author AMBROISE PARK Consulting
16802
- */
16803
- declare function createHealthEndpoint(): () => Promise<Response>;
16804
- /**
16805
- * Register health check endpoint for Next.js
16806
- * Usage: Create app/api/health/route.ts with:
16807
- *
16808
- * import { createHealthEndpoint } from '@donotdev/utils/observability';
16809
- * export const GET = createHealthEndpoint();
16810
- *
16811
- * @version 0.0.1
16812
- * @since 0.0.1
16813
- * @author AMBROISE PARK Consulting
16814
- */
16815
- declare const healthEndpoint: () => Promise<Response>;
16816
-
16817
16636
  /**
16818
16637
  * @fileoverview Singleton utility functions
16819
16638
  * @description Provides singleton pattern implementation for the framework
@@ -17099,8 +16918,6 @@ type index_d$4_FeatureAvailability = FeatureAvailability;
17099
16918
  type index_d$4_FeatureSupport = FeatureSupport;
17100
16919
  type index_d$4_FrameworkFeature = FrameworkFeature;
17101
16920
  type index_d$4_HandleErrorOptions = HandleErrorOptions;
17102
- type index_d$4_HealthEndpointResponse = HealthEndpointResponse;
17103
- type index_d$4_HealthStatus = HealthStatus;
17104
16921
  type index_d$4_HybridStorageStrategy = HybridStorageStrategy;
17105
16922
  declare const index_d$4_HybridStorageStrategy: typeof HybridStorageStrategy;
17106
16923
  type index_d$4_IStorageManager = IStorageManager;
@@ -17111,10 +16928,6 @@ type index_d$4_LocalStorageStrategy = LocalStorageStrategy;
17111
16928
  declare const index_d$4_LocalStorageStrategy: typeof LocalStorageStrategy;
17112
16929
  declare const index_d$4_OAUTH_STORE_KEYS: typeof OAUTH_STORE_KEYS;
17113
16930
  type index_d$4_OS = OS;
17114
- type index_d$4_ObservabilityCollector = ObservabilityCollector;
17115
- declare const index_d$4_ObservabilityCollector: typeof ObservabilityCollector;
17116
- type index_d$4_PerformanceMonitor = PerformanceMonitor;
17117
- declare const index_d$4_PerformanceMonitor: typeof PerformanceMonitor;
17118
16931
  type index_d$4_PlatformInfo = PlatformInfo;
17119
16932
  type index_d$4_SingletonManager = SingletonManager;
17120
16933
  declare const index_d$4_SingletonManager: typeof SingletonManager;
@@ -17139,11 +16952,9 @@ declare const index_d$4_cleanupSentry: typeof cleanupSentry;
17139
16952
  declare const index_d$4_clearFeatureCache: typeof clearFeatureCache;
17140
16953
  declare const index_d$4_clearLocalStorage: typeof clearLocalStorage;
17141
16954
  declare const index_d$4_clearPartnerCache: typeof clearPartnerCache;
17142
- declare const index_d$4_clearPerformanceData: typeof clearPerformanceData;
17143
16955
  declare const index_d$4_compactToISOString: typeof compactToISOString;
17144
16956
  declare const index_d$4_cooldown: typeof cooldown;
17145
16957
  declare const index_d$4_createAsyncSingleton: typeof createAsyncSingleton;
17146
- declare const index_d$4_createHealthEndpoint: typeof createHealthEndpoint;
17147
16958
  declare const index_d$4_createMetadata: typeof createMetadata;
17148
16959
  declare const index_d$4_createMethodProxy: typeof createMethodProxy;
17149
16960
  declare const index_d$4_createProvider: typeof createProvider;
@@ -17173,7 +16984,6 @@ declare const index_d$4_generateCompatibilityReport: typeof generateCompatibilit
17173
16984
  declare const index_d$4_generateEncryptionKey: typeof generateEncryptionKey;
17174
16985
  declare const index_d$4_generatePKCEPair: typeof generatePKCEPair;
17175
16986
  declare const index_d$4_getActiveCookies: typeof getActiveCookies;
17176
- declare const index_d$4_getAllPerformanceMeasures: typeof getAllPerformanceMeasures;
17177
16987
  declare const index_d$4_getAppShortName: typeof getAppShortName;
17178
16988
  declare const index_d$4_getAssetsConfig: typeof getAssetsConfig;
17179
16989
  declare const index_d$4_getAuthDomain: typeof getAuthDomain;
@@ -17193,7 +17003,6 @@ declare const index_d$4_getEnabledAuthPartners: typeof getEnabledAuthPartners;
17193
17003
  declare const index_d$4_getEnabledOAuthPartners: typeof getEnabledOAuthPartners;
17194
17004
  declare const index_d$4_getEncryptionKey: typeof getEncryptionKey;
17195
17005
  declare const index_d$4_getFeatureSummary: typeof getFeatureSummary;
17196
- declare const index_d$4_getHealthStatus: typeof getHealthStatus;
17197
17006
  declare const index_d$4_getI18nConfig: typeof getI18nConfig;
17198
17007
  declare const index_d$4_getLocalStorageItem: typeof getLocalStorageItem;
17199
17008
  declare const index_d$4_getNextEnvVar: typeof getNextEnvVar;
@@ -17201,14 +17010,11 @@ declare const index_d$4_getOAuthClientId: typeof getOAuthClientId;
17201
17010
  declare const index_d$4_getOAuthPartnerConfig: typeof getOAuthPartnerConfig;
17202
17011
  declare const index_d$4_getOAuthRedirectUri: typeof getOAuthRedirectUri;
17203
17012
  declare const index_d$4_getOAuthRedirectUrl: typeof getOAuthRedirectUrl;
17204
- declare const index_d$4_getObservabilityMetrics: typeof getObservabilityMetrics;
17205
17013
  declare const index_d$4_getPartnerCacheStatus: typeof getPartnerCacheStatus;
17206
17014
  declare const index_d$4_getPartnerConfig: typeof getPartnerConfig;
17207
- declare const index_d$4_getPerformanceMeasure: typeof getPerformanceMeasure;
17208
17015
  declare const index_d$4_getPlatformEnvVar: typeof getPlatformEnvVar;
17209
17016
  declare const index_d$4_getProviderColor: typeof getProviderColor;
17210
17017
  declare const index_d$4_getRoutesConfig: typeof getRoutesConfig;
17211
- declare const index_d$4_getServiceHealth: typeof getServiceHealth;
17212
17018
  declare const index_d$4_getStorageManager: typeof getStorageManager;
17213
17019
  declare const index_d$4_getThemesConfig: typeof getThemesConfig;
17214
17020
  declare const index_d$4_getTokenManager: typeof getTokenManager;
@@ -17222,12 +17028,9 @@ declare const index_d$4_getWeekFromISOString: typeof getWeekFromISOString;
17222
17028
  declare const index_d$4_globalEmitter: typeof globalEmitter;
17223
17029
  declare const index_d$4_handleError: typeof handleError;
17224
17030
  declare const index_d$4_hasOptionalCookies: typeof hasOptionalCookies;
17225
- declare const index_d$4_healthChecks: typeof healthChecks;
17226
- declare const index_d$4_healthEndpoint: typeof healthEndpoint;
17227
17031
  declare const index_d$4_importEncryptionKey: typeof importEncryptionKey;
17228
17032
  declare const index_d$4_initSentry: typeof initSentry;
17229
17033
  declare const index_d$4_initializeConfig: typeof initializeConfig;
17230
- declare const index_d$4_initializeObservability: typeof initializeObservability;
17231
17034
  declare const index_d$4_initializePlatformDetection: typeof initializePlatformDetection;
17232
17035
  declare const index_d$4_isAuthPartnerEnabled: typeof isAuthPartnerEnabled;
17233
17036
  declare const index_d$4_isClient: typeof isClient;
@@ -17248,18 +17051,13 @@ declare const index_d$4_isTest: typeof isTest;
17248
17051
  declare const index_d$4_isVite: typeof isVite;
17249
17052
  declare const index_d$4_isoToCompactString: typeof isoToCompactString;
17250
17053
  declare const index_d$4_lazyImport: typeof lazyImport;
17251
- declare const index_d$4_markPerformance: typeof markPerformance;
17252
17054
  declare const index_d$4_maybeTranslate: typeof maybeTranslate;
17253
- declare const index_d$4_measurePerformance: typeof measurePerformance;
17254
17055
  declare const index_d$4_normalizeToISOString: typeof normalizeToISOString;
17255
- declare const index_d$4_observability: typeof observability;
17256
17056
  declare const index_d$4_observeElement: typeof observeElement;
17257
17057
  declare const index_d$4_parseDate: typeof parseDate;
17258
17058
  declare const index_d$4_parseDateToNoonUTC: typeof parseDateToNoonUTC;
17259
- declare const index_d$4_performanceMonitor: typeof performanceMonitor;
17260
17059
  declare const index_d$4_redirectToExternalUrl: typeof redirectToExternalUrl;
17261
17060
  declare const index_d$4_redirectToExternalUrlWithErrorHandling: typeof redirectToExternalUrlWithErrorHandling;
17262
- declare const index_d$4_registerStoreHealthChecks: typeof registerStoreHealthChecks;
17263
17061
  declare const index_d$4_removeLocalStorageItem: typeof removeLocalStorageItem;
17264
17062
  declare const index_d$4_resolveAppConfig: typeof resolveAppConfig;
17265
17063
  declare const index_d$4_safeLocalStorage: typeof safeLocalStorage;
@@ -17274,11 +17072,6 @@ declare const index_d$4_timestampToISOString: typeof timestampToISOString;
17274
17072
  declare const index_d$4_timingUtils: typeof timingUtils;
17275
17073
  declare const index_d$4_toDateOnly: typeof toDateOnly;
17276
17074
  declare const index_d$4_toISOString: typeof toISOString;
17277
- declare const index_d$4_trackCoreWebVitals: typeof trackCoreWebVitals;
17278
- declare const index_d$4_trackDebug: typeof trackDebug;
17279
- declare const index_d$4_trackHealthCheck: typeof trackHealthCheck;
17280
- declare const index_d$4_trackPerformance: typeof trackPerformance;
17281
- declare const index_d$4_trackStoreInitialization: typeof trackStoreInitialization;
17282
17075
  declare const index_d$4_translateArray: typeof translateArray;
17283
17076
  declare const index_d$4_translateArrayRange: typeof translateArrayRange;
17284
17077
  declare const index_d$4_translateArrayWithIndices: typeof translateArrayWithIndices;
@@ -17292,8 +17085,8 @@ declare const index_d$4_validateLicenseKey: typeof validateLicenseKey;
17292
17085
  declare const index_d$4_withErrorHandling: typeof withErrorHandling;
17293
17086
  declare const index_d$4_withGracefulDegradation: typeof withGracefulDegradation;
17294
17087
  declare namespace index_d$4 {
17295
- export { index_d$4_AUTH_COMPUTED_KEYS as AUTH_COMPUTED_KEYS, index_d$4_AUTH_STORE_KEYS as AUTH_STORE_KEYS, index_d$4_BILLING_STORE_KEYS as BILLING_STORE_KEYS, index_d$4_BaseStorageStrategy as BaseStorageStrategy, index_d$4_CONSENT_LEVELS as CONSENT_LEVELS, index_d$4_ClaimsCache as ClaimsCache, index_d$4_DEGRADED_AUTH_API as DEGRADED_AUTH_API, index_d$4_DEGRADED_BILLING_API as DEGRADED_BILLING_API, index_d$4_DEGRADED_CRUD_API as DEGRADED_CRUD_API, index_d$4_DEGRADED_OAUTH_API as DEGRADED_OAUTH_API, index_d$4_DoNotDevError as DoNotDevError, index_d$4_EventEmitter as EventEmitter, index_d$4_FRAMEWORK_FEATURES as FRAMEWORK_FEATURES, index_d$4_HybridStorageStrategy as HybridStorageStrategy, index_d$4_LocalStorageStrategy as LocalStorageStrategy, index_d$4_OAUTH_STORE_KEYS as OAUTH_STORE_KEYS, index_d$4_ObservabilityCollector as ObservabilityCollector, index_d$4_PerformanceMonitor as PerformanceMonitor, index_d$4_SingletonManager as SingletonManager, index_d$4_StorageManager as StorageManager, index_d$4_TokenManager as TokenManager, index_d$4_ViewportHandler as ViewportHandler, index_d$4_areFeaturesAvailable as areFeaturesAvailable, index_d$4_canRedirectExternally as canRedirectExternally, index_d$4_captureError as captureError, index_d$4_captureMessage as captureMessage, index_d$4_checkLicense as checkLicense, index_d$4_cleanupSentry as cleanupSentry, index_d$4_clearFeatureCache as clearFeatureCache, index_d$4_clearLocalStorage as clearLocalStorage, index_d$4_clearPartnerCache as clearPartnerCache, index_d$4_clearPerformanceData as clearPerformanceData, index_d$4_compactToISOString as compactToISOString, index_d$4_cooldown as cooldown, index_d$4_createAsyncSingleton as createAsyncSingleton, index_d$4_createHealthEndpoint as createHealthEndpoint, index_d$4_createMetadata as createMetadata, index_d$4_createMethodProxy as createMethodProxy, index_d$4_createProvider as createProvider, index_d$4_createProviders as createProviders, index_d$4_createSingleton as createSingleton, index_d$4_createSingletonWithParams as createSingletonWithParams, index_d$4_createViewportHandler as createViewportHandler, index_d$4_debounce as debounce, index_d$4_debugPlatformDetection as debugPlatformDetection, index_d$4_decryptData as decryptData, index_d$4_delay as delay, index_d$4_deleteCookie as deleteCookie, index_d$4_detectBrowser as detectBrowser, index_d$4_detectFeatures as detectFeatures, index_d$4_detectLicenseKey as detectLicenseKey, index_d$4_detectPlatform as detectPlatform, index_d$4_detectPlatformInfo as detectPlatformInfo, index_d$4_detectStorageError as detectStorageError, index_d$4_encryptData as encryptData, index_d$4_exportEncryptionKey as exportEncryptionKey, index_d$4_formatCookieList as formatCookieList, index_d$4_formatDate as formatDate, index_d$4_formatRelativeTime as formatRelativeTime, index_d$4_generateCodeChallenge as generateCodeChallenge, index_d$4_generateCodeVerifier as generateCodeVerifier, index_d$4_generateCompatibilityReport as generateCompatibilityReport, index_d$4_generateEncryptionKey as generateEncryptionKey, index_d$4_generatePKCEPair as generatePKCEPair, index_d$4_getActiveCookies as getActiveCookies, index_d$4_getAllPerformanceMeasures as getAllPerformanceMeasures, index_d$4_getAppShortName as getAppShortName, index_d$4_getAssetsConfig as getAssetsConfig, index_d$4_getAuthDomain as getAuthDomain, index_d$4_getAuthPartnerConfig as getAuthPartnerConfig, index_d$4_getAuthPartnerIdByFirebaseId as getAuthPartnerIdByFirebaseId, index_d$4_getAvailableFeatures as getAvailableFeatures, index_d$4_getBrowserRecommendations as getBrowserRecommendations, index_d$4_getConfigSection as getConfigSection, index_d$4_getConfigSource as getConfigSource, index_d$4_getCookie as getCookie, index_d$4_getCookieExamples as getCookieExamples, index_d$4_getCookiesByCategory as getCookiesByCategory, index_d$4_getCurrentOrigin as getCurrentOrigin, index_d$4_getCurrentTimestamp as getCurrentTimestamp, index_d$4_getDndevConfig as getDndevConfig, index_d$4_getEnabledAuthPartners as getEnabledAuthPartners, index_d$4_getEnabledOAuthPartners as getEnabledOAuthPartners, index_d$4_getEncryptionKey as getEncryptionKey, index_d$4_getFeatureSummary as getFeatureSummary, index_d$4_getHealthStatus as getHealthStatus, index_d$4_getI18nConfig as getI18nConfig, index_d$4_getLocalStorageItem as getLocalStorageItem, index_d$4_getNextEnvVar as getNextEnvVar, index_d$4_getOAuthClientId as getOAuthClientId, index_d$4_getOAuthPartnerConfig as getOAuthPartnerConfig, index_d$4_getOAuthRedirectUri as getOAuthRedirectUri, index_d$4_getOAuthRedirectUrl as getOAuthRedirectUrl, index_d$4_getObservabilityMetrics as getObservabilityMetrics, index_d$4_getPartnerCacheStatus as getPartnerCacheStatus, index_d$4_getPartnerConfig as getPartnerConfig, index_d$4_getPerformanceMeasure as getPerformanceMeasure, index_d$4_getPlatformEnvVar as getPlatformEnvVar, index_d$4_getProviderColor as getProviderColor, index_d$4_getRoutesConfig as getRoutesConfig, index_d$4_getServiceHealth as getServiceHealth, index_d$4_getStorageManager as getStorageManager, index_d$4_getThemesConfig as getThemesConfig, index_d$4_getTokenManager as getTokenManager, index_d$4_getValidAuthPartnerConfig as getValidAuthPartnerConfig, index_d$4_getValidAuthPartnerIds as getValidAuthPartnerIds, index_d$4_getValidOAuthPartnerConfig as getValidOAuthPartnerConfig, index_d$4_getValidOAuthPartnerIds as getValidOAuthPartnerIds, index_d$4_getVisibleItems as getVisibleItems, index_d$4_getViteEnvVar as getViteEnvVar, index_d$4_getWeekFromISOString as getWeekFromISOString, index_d$4_globalEmitter as globalEmitter, index_d$4_handleError as handleError, index_d$4_hasOptionalCookies as hasOptionalCookies, index_d$4_healthChecks as healthChecks, index_d$4_healthEndpoint as healthEndpoint, index_d$4_importEncryptionKey as importEncryptionKey, index_d$4_initSentry as initSentry, index_d$4_initializeConfig as initializeConfig, index_d$4_initializeObservability as initializeObservability, index_d$4_initializePlatformDetection as initializePlatformDetection, index_d$4_isAuthPartnerEnabled as isAuthPartnerEnabled, index_d$4_isClient as isClient, index_d$4_isCompactDateString as isCompactDateString, index_d$4_isConfigAvailable as isConfigAvailable, index_d$4_isDev as isDev, index_d$4_isElementInViewport as isElementInViewport, index_d$4_isEmailVerificationRequired as isEmailVerificationRequired, index_d$4_isFeatureAvailable as isFeatureAvailable, index_d$4_isIntersectionObserverSupported as isIntersectionObserverSupported, index_d$4_isLocalStorageAvailable as isLocalStorageAvailable, index_d$4_isNextJs as isNextJs, index_d$4_isOAuthPartnerEnabled as isOAuthPartnerEnabled, index_d$4_isPKCESupported as isPKCESupported, index_d$4_isPlatform as isPlatform, index_d$4_isServer as isServer, index_d$4_isTest as isTest, index_d$4_isVite as isVite, index_d$4_isoToCompactString as isoToCompactString, index_d$4_lazyImport as lazyImport, index_d$4_markPerformance as markPerformance, index_d$4_maybeTranslate as maybeTranslate, index_d$4_measurePerformance as measurePerformance, index_d$4_normalizeToISOString as normalizeToISOString, index_d$4_observability as observability, index_d$4_observeElement as observeElement, index_d$4_parseDate as parseDate, index_d$4_parseDateToNoonUTC as parseDateToNoonUTC, index_d$4_performanceMonitor as performanceMonitor, index_d$4_redirectToExternalUrl as redirectToExternalUrl, index_d$4_redirectToExternalUrlWithErrorHandling as redirectToExternalUrlWithErrorHandling, index_d$4_registerStoreHealthChecks as registerStoreHealthChecks, index_d$4_removeLocalStorageItem as removeLocalStorageItem, index_d$4_resolveAppConfig as resolveAppConfig, index_d$4_safeLocalStorage as safeLocalStorage, index_d$4_safeSessionStorage as safeSessionStorage, index_d$4_setCookie as setCookie, index_d$4_setLocalStorageItem as setLocalStorageItem, index_d$4_shouldShowEmailVerification as shouldShowEmailVerification, index_d$4_showNotification as showNotification, index_d$4_supportsFeature as supportsFeature, index_d$4_throttle as throttle, index_d$4_timestampToISOString as timestampToISOString, index_d$4_timingUtils as timingUtils, index_d$4_toDateOnly as toDateOnly, index_d$4_toISOString as toISOString, index_d$4_trackCoreWebVitals as trackCoreWebVitals, index_d$4_trackDebug as trackDebug, index_d$4_trackHealthCheck as trackHealthCheck, index_d$4_trackPerformance as trackPerformance, index_d$4_trackStoreInitialization as trackStoreInitialization, index_d$4_translateArray as translateArray, index_d$4_translateArrayRange as translateArrayRange, index_d$4_translateArrayWithIndices as translateArrayWithIndices, index_d$4_translateObjectArray as translateObjectArray, index_d$4_updateMetadata as updateMetadata, index_d$4_useSafeContext as useSafeContext, index_d$4_useStorageManager as useStorageManager, index_d$4_validateCodeChallenge as validateCodeChallenge, index_d$4_validateCodeVerifier as validateCodeVerifier, index_d$4_validateLicenseKey as validateLicenseKey, index_d$4_withErrorHandling as withErrorHandling, index_d$4_withGracefulDegradation as withGracefulDegradation };
17296
- export type { index_d$4_BrowserEngine as BrowserEngine, index_d$4_BrowserInfo as BrowserInfo, index_d$4_BrowserType as BrowserType, index_d$4_Claims as Claims, index_d$4_ClaimsCacheOptions as ClaimsCacheOptions, index_d$4_ClaimsCacheResult as ClaimsCacheResult, index_d$4_CleanupFunction as CleanupFunction, index_d$4_CompatibilityReport as CompatibilityReport, index_d$4_ConsentLevel as ConsentLevel, index_d$4_CookieInfo as CookieInfo, index_d$4_DateFormatOptions as DateFormatOptions, index_d$4_DateFormatPreset as DateFormatPreset, index_d$4_EventListener as EventListener, index_d$4_FeatureAvailability as FeatureAvailability, index_d$4_FeatureSupport as FeatureSupport, index_d$4_FrameworkFeature as FrameworkFeature, index_d$4_HandleErrorOptions as HandleErrorOptions, index_d$4_HealthEndpointResponse as HealthEndpointResponse, index_d$4_HealthStatus as HealthStatus, index_d$4_IStorageManager as IStorageManager, index_d$4_IntersectionObserverCallback as IntersectionObserverCallback, index_d$4_IntersectionObserverOptions as IntersectionObserverOptions, index_d$4_LicenseValidationResult as LicenseValidationResult, index_d$4_OS as OS, index_d$4_PlatformInfo as PlatformInfo, index_d$4_StorageError as StorageError, index_d$4_StorageErrorType as StorageErrorType, index_d$4_StorageOptions as StorageOptions, index_d$4_TokenManagerOptions as TokenManagerOptions, index_d$4_ViewportDetectionOptions as ViewportDetectionOptions, index_d$4_ViewportDetectionResult as ViewportDetectionResult };
17088
+ export { index_d$4_AUTH_COMPUTED_KEYS as AUTH_COMPUTED_KEYS, index_d$4_AUTH_STORE_KEYS as AUTH_STORE_KEYS, index_d$4_BILLING_STORE_KEYS as BILLING_STORE_KEYS, index_d$4_BaseStorageStrategy as BaseStorageStrategy, index_d$4_CONSENT_LEVELS as CONSENT_LEVELS, index_d$4_ClaimsCache as ClaimsCache, index_d$4_DEGRADED_AUTH_API as DEGRADED_AUTH_API, index_d$4_DEGRADED_BILLING_API as DEGRADED_BILLING_API, index_d$4_DEGRADED_CRUD_API as DEGRADED_CRUD_API, index_d$4_DEGRADED_OAUTH_API as DEGRADED_OAUTH_API, index_d$4_DoNotDevError as DoNotDevError, index_d$4_EventEmitter as EventEmitter, index_d$4_FRAMEWORK_FEATURES as FRAMEWORK_FEATURES, index_d$4_HybridStorageStrategy as HybridStorageStrategy, index_d$4_LocalStorageStrategy as LocalStorageStrategy, index_d$4_OAUTH_STORE_KEYS as OAUTH_STORE_KEYS, index_d$4_SingletonManager as SingletonManager, index_d$4_StorageManager as StorageManager, index_d$4_TokenManager as TokenManager, index_d$4_ViewportHandler as ViewportHandler, index_d$4_areFeaturesAvailable as areFeaturesAvailable, index_d$4_canRedirectExternally as canRedirectExternally, index_d$4_captureError as captureError, index_d$4_captureMessage as captureMessage, index_d$4_checkLicense as checkLicense, index_d$4_cleanupSentry as cleanupSentry, index_d$4_clearFeatureCache as clearFeatureCache, index_d$4_clearLocalStorage as clearLocalStorage, index_d$4_clearPartnerCache as clearPartnerCache, index_d$4_compactToISOString as compactToISOString, index_d$4_cooldown as cooldown, index_d$4_createAsyncSingleton as createAsyncSingleton, index_d$4_createMetadata as createMetadata, index_d$4_createMethodProxy as createMethodProxy, index_d$4_createProvider as createProvider, index_d$4_createProviders as createProviders, index_d$4_createSingleton as createSingleton, index_d$4_createSingletonWithParams as createSingletonWithParams, index_d$4_createViewportHandler as createViewportHandler, index_d$4_debounce as debounce, index_d$4_debugPlatformDetection as debugPlatformDetection, index_d$4_decryptData as decryptData, index_d$4_delay as delay, index_d$4_deleteCookie as deleteCookie, index_d$4_detectBrowser as detectBrowser, index_d$4_detectFeatures as detectFeatures, index_d$4_detectLicenseKey as detectLicenseKey, index_d$4_detectPlatform as detectPlatform, index_d$4_detectPlatformInfo as detectPlatformInfo, index_d$4_detectStorageError as detectStorageError, index_d$4_encryptData as encryptData, index_d$4_exportEncryptionKey as exportEncryptionKey, index_d$4_formatCookieList as formatCookieList, index_d$4_formatDate as formatDate, index_d$4_formatRelativeTime as formatRelativeTime, index_d$4_generateCodeChallenge as generateCodeChallenge, index_d$4_generateCodeVerifier as generateCodeVerifier, index_d$4_generateCompatibilityReport as generateCompatibilityReport, index_d$4_generateEncryptionKey as generateEncryptionKey, index_d$4_generatePKCEPair as generatePKCEPair, index_d$4_getActiveCookies as getActiveCookies, index_d$4_getAppShortName as getAppShortName, index_d$4_getAssetsConfig as getAssetsConfig, index_d$4_getAuthDomain as getAuthDomain, index_d$4_getAuthPartnerConfig as getAuthPartnerConfig, index_d$4_getAuthPartnerIdByFirebaseId as getAuthPartnerIdByFirebaseId, index_d$4_getAvailableFeatures as getAvailableFeatures, index_d$4_getBrowserRecommendations as getBrowserRecommendations, index_d$4_getConfigSection as getConfigSection, index_d$4_getConfigSource as getConfigSource, index_d$4_getCookie as getCookie, index_d$4_getCookieExamples as getCookieExamples, index_d$4_getCookiesByCategory as getCookiesByCategory, index_d$4_getCurrentOrigin as getCurrentOrigin, index_d$4_getCurrentTimestamp as getCurrentTimestamp, index_d$4_getDndevConfig as getDndevConfig, index_d$4_getEnabledAuthPartners as getEnabledAuthPartners, index_d$4_getEnabledOAuthPartners as getEnabledOAuthPartners, index_d$4_getEncryptionKey as getEncryptionKey, index_d$4_getFeatureSummary as getFeatureSummary, index_d$4_getI18nConfig as getI18nConfig, index_d$4_getLocalStorageItem as getLocalStorageItem, index_d$4_getNextEnvVar as getNextEnvVar, index_d$4_getOAuthClientId as getOAuthClientId, index_d$4_getOAuthPartnerConfig as getOAuthPartnerConfig, index_d$4_getOAuthRedirectUri as getOAuthRedirectUri, index_d$4_getOAuthRedirectUrl as getOAuthRedirectUrl, index_d$4_getPartnerCacheStatus as getPartnerCacheStatus, index_d$4_getPartnerConfig as getPartnerConfig, index_d$4_getPlatformEnvVar as getPlatformEnvVar, index_d$4_getProviderColor as getProviderColor, index_d$4_getRoutesConfig as getRoutesConfig, index_d$4_getStorageManager as getStorageManager, index_d$4_getThemesConfig as getThemesConfig, index_d$4_getTokenManager as getTokenManager, index_d$4_getValidAuthPartnerConfig as getValidAuthPartnerConfig, index_d$4_getValidAuthPartnerIds as getValidAuthPartnerIds, index_d$4_getValidOAuthPartnerConfig as getValidOAuthPartnerConfig, index_d$4_getValidOAuthPartnerIds as getValidOAuthPartnerIds, index_d$4_getVisibleItems as getVisibleItems, index_d$4_getViteEnvVar as getViteEnvVar, index_d$4_getWeekFromISOString as getWeekFromISOString, index_d$4_globalEmitter as globalEmitter, index_d$4_handleError as handleError, index_d$4_hasOptionalCookies as hasOptionalCookies, index_d$4_importEncryptionKey as importEncryptionKey, index_d$4_initSentry as initSentry, index_d$4_initializeConfig as initializeConfig, index_d$4_initializePlatformDetection as initializePlatformDetection, index_d$4_isAuthPartnerEnabled as isAuthPartnerEnabled, index_d$4_isClient as isClient, index_d$4_isCompactDateString as isCompactDateString, index_d$4_isConfigAvailable as isConfigAvailable, index_d$4_isDev as isDev, index_d$4_isElementInViewport as isElementInViewport, index_d$4_isEmailVerificationRequired as isEmailVerificationRequired, index_d$4_isFeatureAvailable as isFeatureAvailable, index_d$4_isIntersectionObserverSupported as isIntersectionObserverSupported, index_d$4_isLocalStorageAvailable as isLocalStorageAvailable, index_d$4_isNextJs as isNextJs, index_d$4_isOAuthPartnerEnabled as isOAuthPartnerEnabled, index_d$4_isPKCESupported as isPKCESupported, index_d$4_isPlatform as isPlatform, index_d$4_isServer as isServer, index_d$4_isTest as isTest, index_d$4_isVite as isVite, index_d$4_isoToCompactString as isoToCompactString, index_d$4_lazyImport as lazyImport, index_d$4_maybeTranslate as maybeTranslate, index_d$4_normalizeToISOString as normalizeToISOString, index_d$4_observeElement as observeElement, index_d$4_parseDate as parseDate, index_d$4_parseDateToNoonUTC as parseDateToNoonUTC, index_d$4_redirectToExternalUrl as redirectToExternalUrl, index_d$4_redirectToExternalUrlWithErrorHandling as redirectToExternalUrlWithErrorHandling, index_d$4_removeLocalStorageItem as removeLocalStorageItem, index_d$4_resolveAppConfig as resolveAppConfig, index_d$4_safeLocalStorage as safeLocalStorage, index_d$4_safeSessionStorage as safeSessionStorage, index_d$4_setCookie as setCookie, index_d$4_setLocalStorageItem as setLocalStorageItem, index_d$4_shouldShowEmailVerification as shouldShowEmailVerification, index_d$4_showNotification as showNotification, index_d$4_supportsFeature as supportsFeature, index_d$4_throttle as throttle, index_d$4_timestampToISOString as timestampToISOString, index_d$4_timingUtils as timingUtils, index_d$4_toDateOnly as toDateOnly, index_d$4_toISOString as toISOString, index_d$4_translateArray as translateArray, index_d$4_translateArrayRange as translateArrayRange, index_d$4_translateArrayWithIndices as translateArrayWithIndices, index_d$4_translateObjectArray as translateObjectArray, index_d$4_updateMetadata as updateMetadata, index_d$4_useSafeContext as useSafeContext, index_d$4_useStorageManager as useStorageManager, index_d$4_validateCodeChallenge as validateCodeChallenge, index_d$4_validateCodeVerifier as validateCodeVerifier, index_d$4_validateLicenseKey as validateLicenseKey, index_d$4_withErrorHandling as withErrorHandling, index_d$4_withGracefulDegradation as withGracefulDegradation };
17089
+ export type { index_d$4_BrowserEngine as BrowserEngine, index_d$4_BrowserInfo as BrowserInfo, index_d$4_BrowserType as BrowserType, index_d$4_Claims as Claims, index_d$4_ClaimsCacheOptions as ClaimsCacheOptions, index_d$4_ClaimsCacheResult as ClaimsCacheResult, index_d$4_CleanupFunction as CleanupFunction, index_d$4_CompatibilityReport as CompatibilityReport, index_d$4_ConsentLevel as ConsentLevel, index_d$4_CookieInfo as CookieInfo, index_d$4_DateFormatOptions as DateFormatOptions, index_d$4_DateFormatPreset as DateFormatPreset, index_d$4_EventListener as EventListener, index_d$4_FeatureAvailability as FeatureAvailability, index_d$4_FeatureSupport as FeatureSupport, index_d$4_FrameworkFeature as FrameworkFeature, index_d$4_HandleErrorOptions as HandleErrorOptions, index_d$4_IStorageManager as IStorageManager, index_d$4_IntersectionObserverCallback as IntersectionObserverCallback, index_d$4_IntersectionObserverOptions as IntersectionObserverOptions, index_d$4_LicenseValidationResult as LicenseValidationResult, index_d$4_OS as OS, index_d$4_PlatformInfo as PlatformInfo, index_d$4_StorageError as StorageError, index_d$4_StorageErrorType as StorageErrorType, index_d$4_StorageOptions as StorageOptions, index_d$4_TokenManagerOptions as TokenManagerOptions, index_d$4_ViewportDetectionOptions as ViewportDetectionOptions, index_d$4_ViewportDetectionResult as ViewportDetectionResult };
17297
17090
  }
17298
17091
 
17299
17092
  /**
@@ -18611,47 +18404,6 @@ declare namespace index_d$2 {
18611
18404
  export type { index_d$2_EntitySchemas as EntitySchemas };
18612
18405
  }
18613
18406
 
18614
- /**
18615
- * Performance metrics interface
18616
- */
18617
- interface PerformanceMetrics {
18618
- fcp: number | null;
18619
- lcp: number | null;
18620
- fid: number | null;
18621
- cls: number | null;
18622
- ttfb: number | null;
18623
- fmp: number | null;
18624
- }
18625
- /**
18626
- * Performance hook for monitoring Core Web Vitals
18627
- *
18628
- * ✅ PERFORMANCE: Monitors key performance metrics
18629
- * - First Contentful Paint (FCP)
18630
- * - Largest Contentful Paint (LCP)
18631
- * - First Input Delay (FID)
18632
- * - Cumulative Layout Shift (CLS)
18633
- * - Time to First Byte (TTFB)
18634
- *
18635
- * @version 0.0.1
18636
- * @since 0.0.1
18637
- * @author AMBROISE PARK Consulting
18638
- * @returns Performance metrics and monitoring functions
18639
- */
18640
- declare function usePerformance(): {
18641
- metrics: PerformanceMetrics;
18642
- isSupported: boolean;
18643
- getPerformanceScore: () => {
18644
- overall: number;
18645
- breakdown: {
18646
- fcp: number | null;
18647
- lcp: number | null;
18648
- fid: number | null;
18649
- cls: number | null;
18650
- };
18651
- };
18652
- logPerformanceReport: () => void;
18653
- };
18654
-
18655
18407
  declare class Subscribable<TListener extends Function> {
18656
18408
  protected listeners: Set<TListener>;
18657
18409
  constructor();
@@ -19938,21 +19690,45 @@ type UseBaseMutationResult<TData = unknown, TError = DefaultError, TVariables =
19938
19690
  type UseMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> = UseBaseMutationResult<TData, TError, TVariables, TOnMutateResult>;
19939
19691
 
19940
19692
  /**
19941
- * @fileoverview React Query client configuration
19942
- * @description Global QueryClient instance with default configuration
19693
+ * @fileoverview React Query client configuration (SSR-safe)
19694
+ * @description QueryClient factory with proper SSR isolation
19943
19695
  *
19944
- * @version 0.0.1
19696
+ * **SSR Safety:**
19697
+ * - On server: Creates new QueryClient per request (isolates user data)
19698
+ * - On client: Reuses singleton (preserves cache between navigations)
19699
+ *
19700
+ * @version 0.0.3
19945
19701
  * @since 0.0.1
19946
19702
  * @author AMBROISE PARK Consulting
19947
19703
  */
19948
19704
 
19949
19705
  /**
19950
- * Global QueryClient instance with default configuration
19951
- * Used across the application for consistent caching behavior
19706
+ * Get or create QueryClient (SSR-safe)
19952
19707
  *
19953
- * @version 0.0.1
19954
- * @since 0.0.1
19708
+ * - Server: Always creates new instance (per-request isolation)
19709
+ * - Browser: Reuses singleton (cache persistence)
19710
+ *
19711
+ * @version 0.0.3
19712
+ * @since 0.0.3
19955
19713
  * @author AMBROISE PARK Consulting
19714
+ *
19715
+ * @example
19716
+ * ```tsx
19717
+ * // In your root layout/provider
19718
+ * function Providers({ children }) {
19719
+ * const queryClient = getQueryClient();
19720
+ * return (
19721
+ * <QueryClientProvider client={queryClient}>
19722
+ * {children}
19723
+ * </QueryClientProvider>
19724
+ * );
19725
+ * }
19726
+ * ```
19727
+ */
19728
+ declare function getQueryClient(): QueryClient;
19729
+ /**
19730
+ * @deprecated Use getQueryClient() instead for SSR safety
19731
+ * Keeping for backward compatibility during migration
19956
19732
  */
19957
19733
  declare const queryClient: QueryClient;
19958
19734
 
@@ -21203,10 +20979,14 @@ declare function getEntityProvider(): EntityProvider;
21203
20979
  * Query providers for apps that use CRUD operations
21204
20980
  * Includes: React Query client and provider
21205
20981
  *
20982
+ * **SSR Safety:**
20983
+ * - Uses getQueryClient() which creates new instance on server per-request
20984
+ * - Reuses singleton on client for cache persistence
20985
+ *
21206
20986
  * ⚠️ OPTIONAL: Only use this if your app needs CRUD operations
21207
20987
  * React Query is a large package - don't load it unless needed!
21208
20988
  *
21209
- * @version 0.0.1
20989
+ * @version 0.0.3
21210
20990
  * @since 0.0.1
21211
20991
  * @author AMBROISE PARK Consulting
21212
20992
  */
@@ -21416,6 +21196,7 @@ type index_d$1_UseScriptLoaderReturn = UseScriptLoaderReturn;
21416
21196
  type index_d$1_UseViewportVisibilityOptions = UseViewportVisibilityOptions;
21417
21197
  type index_d$1_UseViewportVisibilityReturn = UseViewportVisibilityReturn;
21418
21198
  declare const index_d$1_getEntityProvider: typeof getEntityProvider;
21199
+ declare const index_d$1_getQueryClient: typeof getQueryClient;
21419
21200
  declare const index_d$1_queryClient: typeof queryClient;
21420
21201
  declare const index_d$1_setEntityProvider: typeof setEntityProvider;
21421
21202
  declare const index_d$1_useAddOrUpdate: typeof useAddOrUpdate;
@@ -21437,12 +21218,11 @@ declare const index_d$1_useIntersectionObserver: typeof useIntersectionObserver;
21437
21218
  declare const index_d$1_useIsClient: typeof useIsClient;
21438
21219
  declare const index_d$1_useList: typeof useList;
21439
21220
  declare const index_d$1_useLocalStorage: typeof useLocalStorage;
21440
- declare const index_d$1_usePerformance: typeof usePerformance;
21441
21221
  declare const index_d$1_useScriptLoader: typeof useScriptLoader;
21442
21222
  declare const index_d$1_useSeoConfig: typeof useSeoConfig;
21443
21223
  declare const index_d$1_useViewportVisibility: typeof useViewportVisibility;
21444
21224
  declare namespace index_d$1 {
21445
- export { index_d$1_AppConfigContext as AppConfigContext, index_d$1_AppConfigProvider as AppConfigProvider, index_d$1_QueryProviders as QueryProviders, index_d$1_ReactQueryBridge as ReactQueryBridge, index_d$1_getEntityProvider as getEntityProvider, index_d$1_queryClient as queryClient, index_d$1_setEntityProvider as setEntityProvider, index_d$1_useAddOrUpdate as useAddOrUpdate, index_d$1_useAppConfig as useAppConfig, index_d$1_useAuthConfig as useAuthConfig, index_d$1_useBreathingTimer as useBreathingTimer, index_d$1_useClickOutside as useClickOutside, index_d$1_useDebounce as useDebounce, index_d$1_useDelete as useDelete, index_d$1_useEntityAddOrUpdate as useEntityAddOrUpdate, index_d$1_useEntityDelete as useEntityDelete, index_d$1_useEntityGet as useEntityGet, index_d$1_useEntityList as useEntityList, index_d$1_useEventListener as useEventListener, index_d$1_useFaviconConfig as useFaviconConfig, index_d$1_useFeaturesConfig as useFeaturesConfig, index_d$1_useGet as useGet, index_d$1_useIntersectionObserver as useIntersectionObserver, index_d$1_useIsClient as useIsClient, index_d$1_useList as useList, index_d$1_useLocalStorage as useLocalStorage, index_d$1_usePerformance as usePerformance, index_d$1_useScriptLoader as useScriptLoader, index_d$1_useSeoConfig as useSeoConfig, index_d$1_useViewportVisibility as useViewportVisibility };
21225
+ export { index_d$1_AppConfigContext as AppConfigContext, index_d$1_AppConfigProvider as AppConfigProvider, index_d$1_QueryProviders as QueryProviders, index_d$1_ReactQueryBridge as ReactQueryBridge, index_d$1_getEntityProvider as getEntityProvider, index_d$1_getQueryClient as getQueryClient, index_d$1_queryClient as queryClient, index_d$1_setEntityProvider as setEntityProvider, index_d$1_useAddOrUpdate as useAddOrUpdate, index_d$1_useAppConfig as useAppConfig, index_d$1_useAuthConfig as useAuthConfig, index_d$1_useBreathingTimer as useBreathingTimer, index_d$1_useClickOutside as useClickOutside, index_d$1_useDebounce as useDebounce, index_d$1_useDelete as useDelete, index_d$1_useEntityAddOrUpdate as useEntityAddOrUpdate, index_d$1_useEntityDelete as useEntityDelete, index_d$1_useEntityGet as useEntityGet, index_d$1_useEntityList as useEntityList, index_d$1_useEventListener as useEventListener, index_d$1_useFaviconConfig as useFaviconConfig, index_d$1_useFeaturesConfig as useFeaturesConfig, index_d$1_useGet as useGet, index_d$1_useIntersectionObserver as useIntersectionObserver, index_d$1_useIsClient as useIsClient, index_d$1_useList as useList, index_d$1_useLocalStorage as useLocalStorage, index_d$1_useScriptLoader as useScriptLoader, index_d$1_useSeoConfig as useSeoConfig, index_d$1_useViewportVisibility as useViewportVisibility };
21446
21226
  export type { index_d$1_AppConfigProviderProps as AppConfigProviderProps, index_d$1_EntityProvider as EntityProvider, index_d$1_UseClickOutsideOptions as UseClickOutsideOptions, index_d$1_UseClickOutsideReturn as UseClickOutsideReturn, index_d$1_UseDebounceOptions as UseDebounceOptions, index_d$1_UseEventListenerOptions as UseEventListenerOptions, index_d$1_UseEventListenerReturn as UseEventListenerReturn, index_d$1_UseIntersectionObserverOptions as UseIntersectionObserverOptions, index_d$1_UseIntersectionObserverReturn as UseIntersectionObserverReturn, index_d$1_UseLocalStorageOptions as UseLocalStorageOptions, index_d$1_UseLocalStorageReturn as UseLocalStorageReturn, index_d$1_UseScriptLoaderOptions as UseScriptLoaderOptions, index_d$1_UseScriptLoaderReturn as UseScriptLoaderReturn, index_d$1_UseViewportVisibilityOptions as UseViewportVisibilityOptions, index_d$1_UseViewportVisibilityReturn as UseViewportVisibilityReturn };
21447
21227
  }
21448
21228
 
@@ -21450,7 +21230,7 @@ declare namespace index_d$1 {
21450
21230
  * Translation hook result interface
21451
21231
  * @public
21452
21232
  *
21453
- * @version 0.0.1
21233
+ * @version 0.0.3
21454
21234
  * @since 0.0.1
21455
21235
  * @author AMBROISE PARK Consulting
21456
21236
  */
@@ -21516,7 +21296,7 @@ interface UseTranslationResult {
21516
21296
  *
21517
21297
  * @public
21518
21298
  *
21519
- * @version 0.0.1
21299
+ * @version 0.0.3
21520
21300
  * @since 0.0.1
21521
21301
  * @author AMBROISE PARK Consulting
21522
21302
  */
@@ -21542,7 +21322,7 @@ declare function useTranslation(namespace?: string | string[]): UseTranslationRe
21542
21322
  *
21543
21323
  * @public
21544
21324
  *
21545
- * @version 0.0.1
21325
+ * @version 0.0.3
21546
21326
  * @since 0.0.1
21547
21327
  * @author AMBROISE PARK Consulting
21548
21328
  */
@@ -21991,7 +21771,7 @@ interface LanguageData {
21991
21771
  *
21992
21772
  * @public
21993
21773
  *
21994
- * @version 0.0.1
21774
+ * @version 0.0.3
21995
21775
  * @since 0.0.1
21996
21776
  * @author AMBROISE PARK Consulting
21997
21777
  */
@@ -22004,6 +21784,10 @@ declare function useLanguageSelector(): {
22004
21784
  changeLanguage: (lng: string) => Promise<void>;
22005
21785
  /** Whether a language change is in progress */
22006
21786
  isLoading: boolean;
21787
+ /** Selector mode: 'none' (0-1 langs), 'toggle' (2 langs), 'dropdown' (3+ langs) */
21788
+ mode: string;
21789
+ /** For toggle mode: the inactive language to switch to */
21790
+ otherLanguage: LanguageData | null;
22007
21791
  };
22008
21792
 
22009
21793
  /**
@@ -22062,5 +21846,5 @@ declare namespace index_d {
22062
21846
  export type { index_d_FAQSectionProps as FAQSectionProps };
22063
21847
  }
22064
21848
 
22065
- export { AUTH_COMPUTED_KEYS, AUTH_EVENTS, AUTH_PARTNERS, AUTH_PARTNER_STATE, AUTH_STORE_KEYS, AppConfigContext, AppConfigProvider, AuthUserSchema, BILLING_EVENTS, BILLING_STORE_KEYS, BREAKPOINT_RANGES, BREAKPOINT_THRESHOLDS, BaseStorageStrategy, COMMON_TIER_CONFIGS, CONFIDENCE_LEVELS, CONSENT_CATEGORY, CONSENT_LEVELS, CONTEXTS, CheckoutSessionMetadataSchema, ClaimsCache, CreateCheckoutSessionRequestSchema, CreateCheckoutSessionResponseSchema, CustomClaimsSchema, DEFAULT_LAYOUT_PRESET, DEFAULT_SUBSCRIPTION, DEGRADED_AUTH_API, DEGRADED_BILLING_API, DEGRADED_CRUD_API, DEGRADED_OAUTH_API, DENSITY, DoNotDevError, ENVIRONMENTS, EntityHookError, EventEmitter, FAQSection, FEATURES, FEATURE_CONSENT_MATRIX, FIREBASE_ERROR_MAP, FIRESTORE_ID_PATTERN, FRAMEWORK_FEATURES, Flag, GITHUB_PERMISSION_LEVELS, index_d$1 as Hooks, HybridStorageStrategy, index_d as I18n, LAYOUT_PRESET, LanguageFAB, LanguageSelector, LanguageToggleGroup, LocalStorageStrategy, OAUTH_EVENTS, OAUTH_PARTNERS, OAUTH_STORE_KEYS, ObservabilityCollector, PARTNER_ICONS, PAYLOAD_EVENTS, PERMISSIONS, PLATFORMS, PWA_ASSET_TYPES, PWA_DISPLAY_MODES, PerformanceMonitor, ProductDeclarationSchema, ProductDeclarationsSchema, QueryProviders, ROUTE_SOURCES, ReactQueryBridge, STORAGE_SCOPES, STORAGE_TYPES, STRIPE_EVENTS, STRIPE_MODES, SUBSCRIPTION_DURATIONS, SUBSCRIPTION_STATUS, SUBSCRIPTION_TIERS, index_d$2 as Schemas, SingletonManager, StorageManager, index_d$3 as Stores, StripeBackConfigSchema, StripeFrontConfigSchema, StripePaymentSchema, StripeSubscriptionSchema, SubscriptionClaimsSchema, SubscriptionDataSchema, TokenManager, TranslatedText, index_d$5 as Types, USER_ROLES, UserSubscriptionSchema, index_d$4 as Utils, ViewportHandler, WebhookEventSchema, applyTheme, areFeaturesAvailable, baseFields, buildRoutePath, canRedirectExternally, captureError, captureMessage, checkGitHubAccessSchema, checkLicense, cleanupSentry, clearFeatureCache, clearLocalStorage, clearPartnerCache, clearPerformanceData, compactToISOString, cooldown, createAsyncSingleton, createDefaultSubscriptionClaims, createDefaultUserProfile, createDoNotDevStore, createEntitySchema, createHealthEndpoint, createMetadata, createMethodProxy, createProvider, createProviders, createSchemas, createSingleton, createSingletonWithParams, createViewportHandler, debounce, debugPlatformDetection, decryptData, defineEntity, delay, deleteCookie, deleteEntitySchema, detectBrowser, detectFeatures, detectLicenseKey, detectPlatform, detectPlatformInfo, detectStorageError, disconnectOAuthSchema, encryptData, enhanceSchema, exchangeTokenSchema, exportEncryptionKey, extractRoutePath, formatCookieList, formatDate, formatRelativeTime, generateCodeChallenge, generateCodeVerifier, generateCompatibilityReport, generateEncryptionKey, generatePKCEPair, getActiveCookies, getAllPerformanceMeasures, getAppShortName, getAssetsConfig, getAuthDomain, getAuthPartnerConfig, getAuthPartnerIdByFirebaseId, getAvailableFeatures, getAvailableThemeNames, getAvailableThemes, getBreakpointFromWidth, getBreakpointUtils, getBrowserRecommendations, getCollectionName, getConfigSection, getConfigSource, getConnectionsSchema, getCookie, getCookieExamples, getCookiesByCategory, getCurrentOrigin, getCurrentTimestamp, getDndevConfig, getEnabledAuthPartners, getEnabledOAuthPartners, getEncryptionKey, getEntityProvider, getEntitySchema, getFeatureSummary, getFlagCodes, getHealthStatus, getI18nConfig, getI18nInstance, getLocalStorageItem, getNextEnvVar, getOAuthClientId, getOAuthPartnerConfig, getOAuthRedirectUri, getOAuthRedirectUrl, getObservabilityMetrics, getPartnerCacheStatus, getPartnerConfig, getPerformanceMeasure, getPlatformEnvVar, getProviderColor, getRouteManifest, getRouteSource, getRoutes, getRoutesConfig, getSchemaType, getServiceHealth, getSmartDefaults, getStorageManager, getThemeInfo, getThemesConfig, getTokenManager, getValidAuthPartnerConfig, getValidAuthPartnerIds, getValidOAuthPartnerConfig, getValidOAuthPartnerIds, getVisibleFieldsFromEntity, getVisibleItems, getViteEnvVar, getWeekFromISOString, githubPermissionSchema, githubRepoConfigSchema, globalEmitter, grantGitHubAccessSchema, handleError, hasFlag, hasMetadata, hasOptionalCookies, healthChecks, healthEndpoint, importEncryptionKey, initSentry, initializeConfig, initializeObservability, initializePlatformDetection, isAuthPartnerEnabled, isAuthPartnerId, isBreakpoint, isClient, isCompactDateString, isConfigAvailable, isDev, isDoNotDevStore, isElementInViewport, isEmailVerificationRequired, isFeatureAvailable, isFieldVisible, isIntersectionObserverSupported, isLocalStorageAvailable, isNextJs, isOAuthPartnerEnabled, isOAuthPartnerId, isPKCESupported, isPlatform, isServer, isTest, isValidTheme, isVite, isoToCompactString, lazyImport, listEntitiesSchema, markPerformance, maybeTranslate, measurePerformance, normalizeToISOString, observability, observeElement, overrideFeatures, overridePaymentModes, overridePermissions, overrideSubscriptionStatus, overrideSubscriptionTiers, overrideUserRoles, parseDate, parseDateToNoonUTC, performanceMonitor, queryClient, redirectToExternalUrl, redirectToExternalUrlWithErrorHandling, refreshTokenSchema, registerStoreHealthChecks, registerUniqueConstraintValidator, removeLocalStorageItem, resolveAppConfig, resolveAuthConfig, resolvePageMeta, revokeGitHubAccessSchema, safeLocalStorage, safeSessionStorage, setCookie, setEntityProvider, setLocalStorageItem, shouldShowEmailVerification, showNotification, supportsFeature, throttle, timestampToISOString, timingUtils, toDateOnly, toISOString, trackCoreWebVitals, trackDebug, trackHealthCheck, trackPerformance, trackStoreInitialization, translateArray, translateArrayRange, translateArrayWithIndices, translateObjectArray, updateEntitySchema, updateMetadata, useAbortControllerStore, useAddOrUpdate, useAnalyticsConsent, useAppConfig, useAuthConfig, useBreakpoint, useBreathingTimer, useClickOutside, useConsent, useConsentReady, useConsentStore, useDebounce, useDelete, useEntityAddOrUpdate, useEntityDelete, useEntityGet, useEntityList, useEventListener, useFaviconConfig, useFeatureConsent, useFeaturesConfig, useFunctionalConsent, useGet, useHasConsented, useI18nReady, useIntersectionObserver, useIsClient, useLanguageSelector, useLayout, useList, useLoading, useLoadingActions, useLoadingState, useLoadingStore, useLocalStorage, useMarketingConsent, useNavigationStore, useNetwork, useNetworkConnectionType, useNetworkOnline, useNetworkStatus, useNetworkStore, useOverlayStore, usePerformance, useRateLimit, useSafeContext, useScriptLoader, useSeoConfig, useStorageManager, useTheme, useThemeReady, useThemeStore, useTranslation, useViewportVisibility, validateAuthPartners, validateAuthSchemas, validateAuthUser, validateBillingSchemas, validateCheckoutSessionMetadata, validateCodeChallenge, validateCodeVerifier, validateCreateCheckoutSessionRequest, validateCreateCheckoutSessionResponse, validateCustomClaims, validateDates, validateDocument, validateLicenseKey, validateOAuthPartners, validateStripeBackConfig, validateStripeFrontConfig, validateSubscriptionClaims, validateSubscriptionData, validateUniqueFields, validateUserSubscription, validateWebhookEvent, withErrorHandling, withGracefulDegradation };
22066
- export type { AccountLinkResult, AccountLinkingInfo, AdminCheckHookResult, AdminClaims, ApiResponse, AppConfig, AppConfigProviderProps, AppCookieCategories, AppMetadata, AppProvidersProps, AssetsPluginConfig, AttemptRecord, AuthAPI, AuthActions, AuthConfig, AuthContextValue, AuthCoreHookResult, AuthError, AuthEventData, AuthEventKey, AuthEventName, AuthMethod, AuthPartner, AuthPartnerButton, AuthPartnerHookResult, AuthPartnerId, AuthPartnerResult, AuthPartnerState, AuthProvider, AuthProviderProps, AuthRedirectHookResult, AuthRedirectOptions, AuthResult, AuthState, AuthStateStore, AuthStatus, AuthTokenHookResult, AuthUser, BaseActions, BaseCredentials, BaseDocument, BaseEntityFields, BasePartnerState, BaseState, BaseStoreActions, BaseStoreState, BaseUserProfile, BasicUserInfo, BillingAPI, BillingAdapter, BillingErrorCode, BillingEvent, BillingEventData, BillingEventKey, BillingEventName, BillingProvider, BillingProviderConfig, Breakpoint, BreakpointAPI, BreakpointUtils, BrowserEngine, BrowserInfo, BrowserType, BusinessEntity, CachedError, CheckGitHubAccessRequest, CheckoutMode, CheckoutOptions, CheckoutSessionMetadata, Claims, ClaimsCacheOptions, ClaimsCacheResult, CleanupFunction, ColumnDef, CommonSubscriptionFeatures, CommonTranslations, CompatibilityReport, ConfidenceLevel, ConsentAPI, ConsentActions, ConsentCategory, ConsentLevel, ConsentState, Context, CookieInfo, CookieOptions, CreateCheckoutSessionRequest, CreateCheckoutSessionResponse, CreateEntityData, CreateEntityRequest, CreateEntityResponse, CrudAPI, CustomClaims, CustomStoreConfig, DateFormatOptions, DateFormatPreset, DateValue, DeleteEntityRequest, DeleteEntityResponse, Density, DnDevLayoutProps, DnDevOverride, DndevFrameworkConfig, DoNotDevCookieCategories, DoNotDevStore, DoNotDevStoreConfig, DoNotDevStoreState, DynamicFormRule, EffectiveConnectionType, EmailVerificationHookResult, EmailVerificationStatus, Entity, EntityField, EntityHookErrors, EntityMetadata, EntityProvider, EntitySchemas, EntityTemplateProps, EntityTranslations, EnvironmentMode, ErrorCode, ErrorSeverity, ErrorSource, EventListener, ExchangeTokenParams, ExchangeTokenRequest, FAQSectionProps, FaviconConfig, Feature, FeatureAccessHookResult, FeatureAvailability, FeatureConsentRequirement, FeatureHookResult, FeatureId, FeatureName, FeatureSupport, FeaturesConfig, FeaturesPluginConfig, FeaturesRequiringAnyConsent, FeaturesRequiringConsent, FeaturesWithoutConsent, FieldCondition, FieldConfig, FieldType, FieldTypeToValue, FirebaseCallOptions, FirebaseConfig, FirestoreTimestamp, FirestoreUniqueConstraintValidator, FooterConfig, FooterZoneConfig, FormConfig, FormStep, FrameworkFeature, FunctionCallConfig, FunctionCallContext, FunctionCallOptions, FunctionCallResult, FunctionClient, FunctionClientFactoryOptions, FunctionError, FunctionLoader, FunctionPlatform, FunctionResponse, FunctionSchema, FunctionSchemas, FunctionSystem, GetCustomClaimsResponse, GetEntityData, GetEntityRequest, GetEntityResponse, GetUserAuthStatusResponse, GitHubPermission, GitHubRepoConfig, GrantGitHubAccessRequest, HandleErrorOptions, HeaderZoneConfig, HealthEndpointResponse, HealthStatus, I18nConfig, I18nPluginConfig, I18nProviderProps, ID, INetworkManager, IStorageManager, IStorageStrategy, IntersectionObserverCallback, IntersectionObserverOptions, Invoice, InvoiceItem, LanguageInfo, LayoutAPI, LayoutConfig, LayoutInput, LayoutPreset, LegalCompanyInfo, LegalConfig, LegalContactInfo, LegalDirectorInfo, LegalHostingInfo, LegalJurisdictionInfo, LegalSectionsConfig, LegalWebsiteInfo, LicenseValidationResult, ListEntitiesRequest, ListEntitiesResponse, ListEntityData, ListOptions, ListResponse, LoadingActions, LoadingState, MergedBarConfig, MobileBehaviorConfig, ModalActions, ModalState, MutationResponse, NavigationRoute, NetworkCheckConfig, NetworkConnectionType, NetworkReconnectCallback, NetworkState$1 as NetworkState, NetworkStatus, NetworkStatusHookResult, OAuthAPI, OAuthApiRequestOptions, OAuthCallbackHookResult, OAuthConnection, OAuthConnectionInfo, OAuthConnectionRequest, OAuthConnectionStatus, OAuthCredentials, OAuthEventData, OAuthEventKey, OAuthEventName, OAuthPartner, OAuthPartnerButton, OAuthPartnerHookResult, OAuthPartnerId, OAuthPartnerResult, OAuthPartnerState, OAuthPurpose, OAuthRefreshRequest, OAuthRefreshResponse, OAuthResult, OAuthStoreActions, OAuthStoreState, OS, ObservabilityConfig, Observable, OrderByClause, PWAAssetType, PWADisplayMode, PWAPluginConfig, PageAuth, PageMeta, PaginationOptions, PartnerButton, PartnerConnectionState, PartnerIconId, PartnerId, PartnerResult, PartnerType, PayloadCacheEventData, PayloadDocument, PayloadDocumentEventData, PayloadEventKey, PayloadEventName, PayloadGlobalEventData, PayloadMediaEventData, PayloadPageRegenerationEventData, PayloadRequest, PayloadUserEventData, PaymentEventData, PaymentMethod, PaymentMethodType, PaymentMode, Permission, Platform, PlatformInfo, PresetConfig, PresetRegistry, ProcessPaymentSuccessRequest, ProcessPaymentSuccessResponse, ProductDeclaration, ProviderInstances, RateLimitConfig, RateLimitManager, RateLimitResult, RateLimitState, RateLimiter, ReadCallback, Reference, RefreshSubscriptionRequest, RefreshSubscriptionResponse, RemoveCustomClaimsResponse, ResolvedLayoutConfig, RevokeGitHubAccessRequest, RouteData, RouteManifest, RouteMeta, RouteSource, RoutesPluginConfig, SEOConfig, SchemaMetadata, SetCustomClaimsResponse, SidebarZoneConfig, SlotContent, StorageError, StorageErrorType, StorageOptions, StorageScope, StorageType, Store, StoreApi, StripeBackConfig, StripeCheckoutRequest, StripeCheckoutResponse, StripeCheckoutSessionEventData, StripeConfig, StripeCustomer, StripeCustomerEventData, StripeEventData, StripeEventKey, StripeEventName, StripeFrontConfig, StripeInvoice, StripeInvoiceEventData, StripePayment, StripePaymentIntentEventData, StripePaymentMethod, StripePrice, StripeProduct, StripeProvider, StripeSubscription, StripeSubscriptionData, StripeWebhookEvent, StripeWebhookEventData, Subscription, SubscriptionClaims, SubscriptionConfig, SubscriptionData, SubscriptionDuration, SubscriptionEventData, SubscriptionHookResult, SubscriptionInfo, SubscriptionStatus, SubscriptionTier, SupportedLanguage, ThemeAPI, ThemeActions, ThemeInfo, ThemeMode, ThemeState, ThemesPluginConfig, TierAccessHookResult, Timestamp, TokenInfo, TokenManagerOptions, TokenResponse, TokenState, TokenStatus, TranslationOptions, TranslationResource, UIFieldOptions, UniqueConstraintValidator, UnsubscribeFn, UpdateEntityData, UpdateEntityRequest, UpdateEntityResponse, UseClickOutsideOptions, UseClickOutsideReturn, UseDebounceOptions, UseEventListenerOptions, UseEventListenerReturn, UseFunctionsMutationOptions, UseFunctionsQueryOptions, UseIntersectionObserverOptions, UseIntersectionObserverReturn, UseLocalStorageOptions, UseLocalStorageReturn, UseScriptLoaderOptions, UseScriptLoaderReturn, UseTranslationOptionsEnhanced, UseViewportVisibilityOptions, UseViewportVisibilityReturn, UserContext, UserProfile, UserProviderData, UserRole, UserSubscription, ValidationRules, ValueTypeForField, ViewportDetectionOptions, ViewportDetectionResult, Visibility, WebhookEvent, WebhookEventData, WhereClause, WhereOperator, WithMetadata, dndevSchema };
21849
+ export { AUTH_COMPUTED_KEYS, AUTH_EVENTS, AUTH_PARTNERS, AUTH_PARTNER_STATE, AUTH_STORE_KEYS, AppConfigContext, AppConfigProvider, AuthUserSchema, BILLING_EVENTS, BILLING_STORE_KEYS, BREAKPOINT_RANGES, BREAKPOINT_THRESHOLDS, BaseStorageStrategy, COMMON_TIER_CONFIGS, CONFIDENCE_LEVELS, CONSENT_CATEGORY, CONSENT_LEVELS, CONTEXTS, CheckoutSessionMetadataSchema, ClaimsCache, CreateCheckoutSessionRequestSchema, CreateCheckoutSessionResponseSchema, CustomClaimsSchema, DEFAULT_LAYOUT_PRESET, DEFAULT_SUBSCRIPTION, DEGRADED_AUTH_API, DEGRADED_BILLING_API, DEGRADED_CRUD_API, DEGRADED_OAUTH_API, DENSITY, DoNotDevError, ENVIRONMENTS, EntityHookError, EventEmitter, FAQSection, FEATURES, FEATURE_CONSENT_MATRIX, FEATURE_STATUS, FIREBASE_ERROR_MAP, FIRESTORE_ID_PATTERN, FRAMEWORK_FEATURES, Flag, GITHUB_PERMISSION_LEVELS, index_d$1 as Hooks, HybridStorageStrategy, index_d as I18n, LAYOUT_PRESET, LanguageFAB, LanguageSelector, LanguageToggleGroup, LocalStorageStrategy, OAUTH_EVENTS, OAUTH_PARTNERS, OAUTH_STORE_KEYS, PARTNER_ICONS, PAYLOAD_EVENTS, PERMISSIONS, PLATFORMS, PWA_ASSET_TYPES, PWA_DISPLAY_MODES, ProductDeclarationSchema, ProductDeclarationsSchema, QueryProviders, ROUTE_SOURCES, ReactQueryBridge, STORAGE_SCOPES, STORAGE_TYPES, STRIPE_EVENTS, STRIPE_MODES, SUBSCRIPTION_DURATIONS, SUBSCRIPTION_STATUS, SUBSCRIPTION_TIERS, index_d$2 as Schemas, SingletonManager, StorageManager, index_d$3 as Stores, StripeBackConfigSchema, StripeFrontConfigSchema, StripePaymentSchema, StripeSubscriptionSchema, SubscriptionClaimsSchema, SubscriptionDataSchema, TokenManager, TranslatedText, index_d$5 as Types, USER_ROLES, UserSubscriptionSchema, index_d$4 as Utils, ViewportHandler, WebhookEventSchema, applyTheme, areFeaturesAvailable, baseFields, buildRoutePath, canRedirectExternally, captureError, captureMessage, checkGitHubAccessSchema, checkLicense, cleanupSentry, clearFeatureCache, clearLocalStorage, clearPartnerCache, compactToISOString, cooldown, createAsyncSingleton, createDefaultSubscriptionClaims, createDefaultUserProfile, createDoNotDevStore, createEntitySchema, createMetadata, createMethodProxy, createProvider, createProviders, createSchemas, createSingleton, createSingletonWithParams, createViewportHandler, debounce, debugPlatformDetection, decryptData, defineEntity, delay, deleteCookie, deleteEntitySchema, detectBrowser, detectFeatures, detectLicenseKey, detectPlatform, detectPlatformInfo, detectStorageError, disconnectOAuthSchema, encryptData, enhanceSchema, exchangeTokenSchema, exportEncryptionKey, extractRoutePath, formatCookieList, formatDate, formatRelativeTime, generateCodeChallenge, generateCodeVerifier, generateCompatibilityReport, generateEncryptionKey, generatePKCEPair, getActiveCookies, getAppShortName, getAssetsConfig, getAuthDomain, getAuthPartnerConfig, getAuthPartnerIdByFirebaseId, getAvailableFeatures, getAvailableThemeNames, getAvailableThemes, getBreakpointFromWidth, getBreakpointUtils, getBrowserRecommendations, getCollectionName, getConfigSection, getConfigSource, getConnectionsSchema, getCookie, getCookieExamples, getCookiesByCategory, getCurrentOrigin, getCurrentTimestamp, getDndevConfig, getEnabledAuthPartners, getEnabledOAuthPartners, getEncryptionKey, getEntityProvider, getEntitySchema, getFeatureSummary, getFlagCodes, getI18nConfig, getI18nInstance, getLocalStorageItem, getNextEnvVar, getOAuthClientId, getOAuthPartnerConfig, getOAuthRedirectUri, getOAuthRedirectUrl, getPartnerCacheStatus, getPartnerConfig, getPlatformEnvVar, getProviderColor, getQueryClient, getRouteManifest, getRouteSource, getRoutes, getRoutesConfig, getSchemaType, getSmartDefaults, getStorageManager, getThemeInfo, getThemesConfig, getTokenManager, getValidAuthPartnerConfig, getValidAuthPartnerIds, getValidOAuthPartnerConfig, getValidOAuthPartnerIds, getVisibleFieldsFromEntity, getVisibleItems, getViteEnvVar, getWeekFromISOString, githubPermissionSchema, githubRepoConfigSchema, globalEmitter, grantGitHubAccessSchema, handleError, hasFlag, hasMetadata, hasOptionalCookies, importEncryptionKey, initSentry, initializeConfig, initializePlatformDetection, isAuthPartnerEnabled, isAuthPartnerId, isBreakpoint, isClient, isCompactDateString, isConfigAvailable, isDev, isDoNotDevStore, isElementInViewport, isEmailVerificationRequired, isFeatureAvailable, isFieldVisible, isIntersectionObserverSupported, isLocalStorageAvailable, isNextJs, isOAuthPartnerEnabled, isOAuthPartnerId, isPKCESupported, isPlatform, isServer, isTest, isValidTheme, isVite, isoToCompactString, lazyImport, listEntitiesSchema, maybeTranslate, normalizeToISOString, observeElement, overrideFeatures, overridePaymentModes, overridePermissions, overrideSubscriptionStatus, overrideSubscriptionTiers, overrideUserRoles, parseDate, parseDateToNoonUTC, queryClient, redirectToExternalUrl, redirectToExternalUrlWithErrorHandling, refreshTokenSchema, registerUniqueConstraintValidator, removeLocalStorageItem, resolveAppConfig, resolveAuthConfig, resolvePageMeta, revokeGitHubAccessSchema, safeLocalStorage, safeSessionStorage, setCookie, setEntityProvider, setLocalStorageItem, shouldShowEmailVerification, showNotification, supportsFeature, throttle, timestampToISOString, timingUtils, toDateOnly, toISOString, translateArray, translateArrayRange, translateArrayWithIndices, translateObjectArray, updateEntitySchema, updateMetadata, useAbortControllerStore, useAddOrUpdate, useAnalyticsConsent, useAppConfig, useAuthConfig, useBreakpoint, useBreathingTimer, useClickOutside, useConsent, useConsentReady, useConsentStore, useDebounce, useDelete, useEntityAddOrUpdate, useEntityDelete, useEntityGet, useEntityList, useEventListener, useFaviconConfig, useFeatureConsent, useFeaturesConfig, useFunctionalConsent, useGet, useHasConsented, useI18nReady, useIntersectionObserver, useIsClient, useLanguageSelector, useLayout, useList, useLoading, useLoadingActions, useLoadingState, useLoadingStore, useLocalStorage, useMarketingConsent, useNavigationStore, useNetwork, useNetworkConnectionType, useNetworkOnline, useNetworkStatus, useNetworkStore, useOverlayStore, useRateLimit, useSafeContext, useScriptLoader, useSeoConfig, useStorageManager, useTheme, useThemeReady, useThemeStore, useTranslation, useViewportVisibility, validateAuthPartners, validateAuthSchemas, validateAuthUser, validateBillingSchemas, validateCheckoutSessionMetadata, validateCodeChallenge, validateCodeVerifier, validateCreateCheckoutSessionRequest, validateCreateCheckoutSessionResponse, validateCustomClaims, validateDates, validateDocument, validateLicenseKey, validateOAuthPartners, validateStripeBackConfig, validateStripeFrontConfig, validateSubscriptionClaims, validateSubscriptionData, validateUniqueFields, validateUserSubscription, validateWebhookEvent, withErrorHandling, withGracefulDegradation };
21850
+ export type { AccountLinkResult, AccountLinkingInfo, AdminCheckHookResult, AdminClaims, ApiResponse, AppConfig, AppConfigProviderProps, AppCookieCategories, AppMetadata, AppProvidersProps, AssetsPluginConfig, AttemptRecord, AuthAPI, AuthActions, AuthConfig, AuthContextValue, AuthCoreHookResult, AuthError, AuthEventData, AuthEventKey, AuthEventName, AuthMethod, AuthPartner, AuthPartnerButton, AuthPartnerHookResult, AuthPartnerId, AuthPartnerResult, AuthPartnerState, AuthProvider, AuthProviderProps, AuthRedirectHookResult, AuthRedirectOptions, AuthResult, AuthState, AuthStateStore, AuthStatus, AuthTokenHookResult, AuthUser, BaseActions, BaseCredentials, BaseDocument, BaseEntityFields, BasePartnerState, BaseState, BaseStoreActions, BaseStoreState, BaseUserProfile, BasicUserInfo, BillingAPI, BillingAdapter, BillingErrorCode, BillingEvent, BillingEventData, BillingEventKey, BillingEventName, BillingProvider, BillingProviderConfig, Breakpoint, BreakpointAPI, BreakpointUtils, BrowserEngine, BrowserInfo, BrowserType, BusinessEntity, CachedError, CanAPI, CheckGitHubAccessRequest, CheckoutMode, CheckoutOptions, CheckoutSessionMetadata, Claims, ClaimsCacheOptions, ClaimsCacheResult, CleanupFunction, ColumnDef, CommonSubscriptionFeatures, CommonTranslations, CompatibilityReport, ConfidenceLevel, ConsentAPI, ConsentActions, ConsentCategory, ConsentLevel, ConsentState, Context, CookieInfo, CookieOptions, CreateCheckoutSessionRequest, CreateCheckoutSessionResponse, CreateEntityData, CreateEntityRequest, CreateEntityResponse, CrudAPI, CustomClaims, CustomStoreConfig, DateFormatOptions, DateFormatPreset, DateValue, DeleteEntityRequest, DeleteEntityResponse, Density, DnDevLayoutProps, DnDevOverride, DndevFrameworkConfig, DoNotDevCookieCategories, DoNotDevStore, DoNotDevStoreConfig, DoNotDevStoreState, DynamicFormRule, EffectiveConnectionType, EmailVerificationHookResult, EmailVerificationStatus, Entity, EntityField, EntityHookErrors, EntityMetadata, EntityProvider, EntitySchemas, EntityTemplateProps, EntityTranslations, EnvironmentMode, ErrorCode, ErrorSeverity, ErrorSource, EventListener, ExchangeTokenParams, ExchangeTokenRequest, FAQSectionProps, FaviconConfig, Feature, FeatureAccessHookResult, FeatureAvailability, FeatureConsentRequirement, FeatureHookResult, FeatureId, FeatureName, FeatureStatus, FeatureSupport, FeaturesConfig, FeaturesPluginConfig, FeaturesRequiringAnyConsent, FeaturesRequiringConsent, FeaturesWithoutConsent, FieldCondition, FieldConfig, FieldType, FieldTypeToValue, FirebaseCallOptions, FirebaseConfig, FirestoreTimestamp, FirestoreUniqueConstraintValidator, FooterConfig, FooterZoneConfig, FormConfig, FormStep, FrameworkFeature, FunctionCallConfig, FunctionCallContext, FunctionCallOptions, FunctionCallResult, FunctionClient, FunctionClientFactoryOptions, FunctionError, FunctionLoader, FunctionPlatform, FunctionResponse, FunctionSchema, FunctionSchemas, FunctionSystem, GetCustomClaimsResponse, GetEntityData, GetEntityRequest, GetEntityResponse, GetUserAuthStatusResponse, GitHubPermission, GitHubRepoConfig, GrantGitHubAccessRequest, HandleErrorOptions, HeaderZoneConfig, I18nConfig, I18nPluginConfig, I18nProviderProps, ID, INetworkManager, IStorageManager, IStorageStrategy, IntersectionObserverCallback, IntersectionObserverOptions, Invoice, InvoiceItem, LanguageInfo, LayoutAPI, LayoutConfig, LayoutInput, LayoutPreset, LegalCompanyInfo, LegalConfig, LegalContactInfo, LegalDirectorInfo, LegalHostingInfo, LegalJurisdictionInfo, LegalSectionsConfig, LegalWebsiteInfo, LicenseValidationResult, ListEntitiesRequest, ListEntitiesResponse, ListEntityData, ListOptions, ListResponse, LoadingActions, LoadingState, MergedBarConfig, MobileBehaviorConfig, ModalActions, ModalState, MutationResponse, NavigationRoute, NetworkCheckConfig, NetworkConnectionType, NetworkReconnectCallback, NetworkState$1 as NetworkState, NetworkStatus, NetworkStatusHookResult, OAuthAPI, OAuthApiRequestOptions, OAuthCallbackHookResult, OAuthConnection, OAuthConnectionInfo, OAuthConnectionRequest, OAuthConnectionStatus, OAuthCredentials, OAuthEventData, OAuthEventKey, OAuthEventName, OAuthPartner, OAuthPartnerButton, OAuthPartnerHookResult, OAuthPartnerId, OAuthPartnerResult, OAuthPartnerState, OAuthPurpose, OAuthRefreshRequest, OAuthRefreshResponse, OAuthResult, OAuthStoreActions, OAuthStoreState, OS, Observable, OrderByClause, PWAAssetType, PWADisplayMode, PWAPluginConfig, PageAuth, PageMeta, PaginationOptions, PartnerButton, PartnerConnectionState, PartnerIconId, PartnerId, PartnerResult, PartnerType, PayloadCacheEventData, PayloadDocument, PayloadDocumentEventData, PayloadEventKey, PayloadEventName, PayloadGlobalEventData, PayloadMediaEventData, PayloadPageRegenerationEventData, PayloadRequest, PayloadUserEventData, PaymentEventData, PaymentMethod, PaymentMethodType, PaymentMode, Permission, Platform, PlatformInfo, PresetConfig, PresetRegistry, ProcessPaymentSuccessRequest, ProcessPaymentSuccessResponse, ProductDeclaration, ProviderInstances, RateLimitConfig, RateLimitManager, RateLimitResult, RateLimitState, RateLimiter, ReadCallback, Reference, RefreshSubscriptionRequest, RefreshSubscriptionResponse, RemoveCustomClaimsResponse, ResolvedLayoutConfig, RevokeGitHubAccessRequest, RouteData, RouteManifest, RouteMeta, RouteSource, RoutesPluginConfig, SEOConfig, SchemaMetadata, SetCustomClaimsResponse, SidebarZoneConfig, SlotContent, StorageError, StorageErrorType, StorageOptions, StorageScope, StorageType, Store, StoreApi, StripeBackConfig, StripeCheckoutRequest, StripeCheckoutResponse, StripeCheckoutSessionEventData, StripeConfig, StripeCustomer, StripeCustomerEventData, StripeEventData, StripeEventKey, StripeEventName, StripeFrontConfig, StripeInvoice, StripeInvoiceEventData, StripePayment, StripePaymentIntentEventData, StripePaymentMethod, StripePrice, StripeProduct, StripeProvider, StripeSubscription, StripeSubscriptionData, StripeWebhookEvent, StripeWebhookEventData, Subscription, SubscriptionClaims, SubscriptionConfig, SubscriptionData, SubscriptionDuration, SubscriptionEventData, SubscriptionHookResult, SubscriptionInfo, SubscriptionStatus, SubscriptionTier, SupportedLanguage, ThemeAPI, ThemeActions, ThemeInfo, ThemeMode, ThemeState, ThemesPluginConfig, TierAccessHookResult, Timestamp, TokenInfo, TokenManagerOptions, TokenResponse, TokenState, TokenStatus, TranslationOptions, TranslationResource, UIFieldOptions, UniqueConstraintValidator, UnsubscribeFn, UpdateEntityData, UpdateEntityRequest, UpdateEntityResponse, UseClickOutsideOptions, UseClickOutsideReturn, UseDebounceOptions, UseEventListenerOptions, UseEventListenerReturn, UseFunctionsMutationOptions, UseFunctionsQueryOptions, UseIntersectionObserverOptions, UseIntersectionObserverReturn, UseLocalStorageOptions, UseLocalStorageReturn, UseScriptLoaderOptions, UseScriptLoaderReturn, UseTranslationOptionsEnhanced, UseViewportVisibilityOptions, UseViewportVisibilityReturn, UserContext, UserProfile, UserProviderData, UserRole, UserSubscription, ValidationRules, ValueTypeForField, ViewportDetectionOptions, ViewportDetectionResult, Visibility, WebhookEvent, WebhookEventData, WhereClause, WhereOperator, WithMetadata, dndevSchema };