/**
 * Examples demonstrating conditional typing in ThemeProvider
 * based on architecturalPatterns
 */
export declare const StandaloneAppExample = "import { ThemeProvider, LucideIcons } from '@e-burgos/tucu-ui';\nimport '@e-burgos/tucu-ui/styles';\n\nfunction App() {\n  // Single App Pattern (default)\n  // TypeScript will require: menuItems, and optionally customRoutes\n  // TypeScript will NOT allow: basePath or appRoutesConfig\n  \n  return (\n    <ThemeProvider\n      // architecturalPatterns=\"single\" is optional (default)\n      showSettings\n      logo={{\n        name: 'My',\n        secondName: 'App',\n      }}\n      menuItems={[\n        {\n          name: 'Home',\n          path: '/',\n          icon: <LucideIcons.Home />,\n          component: <Home />,\n        },\n        {\n          name: 'Dashboard',\n          path: '/dashboard',\n          icon: <LucideIcons.LayoutDashboard />,\n          component: <Dashboard />,\n        },\n      ]}\n      // customRoutes is optional for more control\n      customRoutes={\n        <Routes>\n          <Route path=\"/\" element={<Home />} />\n          <Route path=\"/dashboard\" element={<Dashboard />} />\n        </Routes>\n      }\n    />\n  );\n}\n\nexport default App;\n";
export declare const MfeAppExample = "import { ThemeProvider } from '@e-burgos/tucu-ui';\nimport '@e-burgos/tucu-ui/styles';\n\nfunction App() {\n  // MFE Pattern\n  // TypeScript will require: architecturalPatterns=\"mfe\", basePath, appRoutesConfig\n  // TypeScript will NOT allow: menuItems or customRoutes\n  \n  return (\n    <ThemeProvider\n      architecturalPatterns=\"mfe\"\n      basePath=\"/my-app\"\n      appRoutesConfig={[\n        {\n          key: 'home',\n          path: '/',\n          element: <Home />,\n          isPublic: true,\n        },\n        {\n          key: 'dashboard',\n          path: '/dashboard',\n          element: <Dashboard />,\n          isPublic: false,\n        },\n        {\n          key: 'settings',\n          path: '/settings',\n          element: <Settings />,\n          disabled: false,\n        },\n      ]}\n      showSettings\n      logo={{\n        name: 'My',\n        secondName: 'MFE',\n      }}\n    />\n  );\n}\n\nexport default App;\n";
export declare const ConditionalTypingExplanation = "\n# Conditional Typing in ThemeProvider\n\nThe ThemeProvider uses TypeScript discriminated unions to provide different prop requirements based on the `architecturalPatterns` prop.\n\n## How It Works\n\nThe type system uses a discriminated union:\n\n```typescript\ntype StandaloneAppThemeProviderProps = StandaloneAppProviderProps & {\n  architecturalPatterns?: 'single';\n};\n\ntype MfeThemeProviderProps = MfeAppThemeProviderProps & {\n  architecturalPatterns: 'mfe';\n};\n\ntype ThemeProviderProps = StandaloneAppThemeProviderProps | MfeThemeProviderProps;\n```\n\n## Benefits\n\n### 1. Type Safety\n- **Single App**: TypeScript enforces `menuItems` and allows `customRoutes`\n- **MFE**: TypeScript enforces `basePath` and `appRoutesConfig`\n\n### 2. IntelliSense Support\nWhen you type `architecturalPatterns=\"mfe\"`, your IDE will automatically:\n- Show only relevant props (`basePath`, `appRoutesConfig`)\n- Hide irrelevant props (`menuItems`, `customRoutes`)\n- Provide autocomplete for the correct props\n\n### 3. Compile-Time Errors\nInvalid combinations will fail at compile time:\n\n```typescript\n// \u274C This will fail - mixing MFE pattern with Single App props\n<ThemeProvider\n  architecturalPatterns=\"mfe\"\n  menuItems={[...]}  // Error: Property 'menuItems' does not exist\n/>\n\n// \u274C This will fail - MFE pattern requires basePath and appRoutesConfig\n<ThemeProvider\n  architecturalPatterns=\"mfe\"\n  // Error: Property 'basePath' is missing\n/>\n\n// \u2705 This is correct - MFE pattern with required props\n<ThemeProvider\n  architecturalPatterns=\"mfe\"\n  basePath=\"/app\"\n  appRoutesConfig={[...]}\n/>\n\n// \u2705 This is correct - Single App pattern (default)\n<ThemeProvider\n  menuItems={[...]}\n/>\n```\n\n## Pattern Selection\n\n### Use Single App Pattern when:\n- Building a standalone application\n- You want automatic route generation from menuItems\n- You need simple navigation structure\n- Default pattern (no `architecturalPatterns` prop needed)\n\n### Use MFE Pattern when:\n- Building a micro-frontend architecture\n- You need explicit route configuration\n- You want to integrate multiple apps with a base path\n- You need granular control over route access (isPublic, disabled)\n\n## Advanced Usage\n\n### Single App with Custom Routes\n```typescript\n<ThemeProvider\n  menuItems={menuConfig}\n  customRoutes={\n    <Routes>\n      <Route path=\"/\" element={<Home />} />\n      <Route path=\"/dashboard/*\" element={<Dashboard />}>\n        <Route path=\"analytics\" element={<Analytics />} />\n        <Route path=\"reports\" element={<Reports />} />\n      </Route>\n    </Routes>\n  }\n/>\n```\n\n### MFE with Route Guards\n```typescript\n<ThemeProvider\n  architecturalPatterns=\"mfe\"\n  basePath=\"/admin\"\n  appRoutesConfig={[\n    {\n      key: 'public-home',\n      path: '/',\n      element: <Home />,\n      isPublic: true,  // No authentication required\n    },\n    {\n      key: 'private-dashboard',\n      path: '/dashboard',\n      element: <Dashboard />,\n      isPublic: false,  // Authentication required\n    },\n    {\n      key: 'disabled-feature',\n      path: '/beta-feature',\n      element: <BetaFeature />,\n      disabled: true,  // Temporarily disabled\n    },\n  ]}\n/>\n```\n";
