import { type RouteObject } from 'react-router-dom';
import type { RouteConfig } from './types';
/**
 * SmartStack core routes - these are locked and cannot be overridden
 */
export declare const smartstackRoutes: RouteObject[];
/**
 * Merge client routes with SmartStack routes
 *
 * Client routes have priority for non-locked paths.
 * Locked paths (SmartStack contexts) cannot be overridden.
 *
 * @param clientRoutes - Routes defined by the client
 * @param ssRoutes - SmartStack routes (optional, defaults to smartstackRoutes)
 * @returns Merged routes array for react-router
 *
 * @example
 * ```tsx
 * import { mergeRoutes, smartstackRoutes } from '@atlashub/smartstack';
 *
 * const clientRoutes = [
 *   { path: '/', element: <MyHomePage /> },
 *   { path: '/about', element: <AboutPage /> },
 *   { path: '/pricing', element: <PricingPage /> },
 * ];
 *
 * const routes = mergeRoutes(clientRoutes, smartstackRoutes);
 *
 * function App() {
 *   return (
 *     <SmartStackProvider config={{ apiUrl: 'http://localhost:5142' }}>
 *       <BrowserRouter>
 *         <Routes>
 *           {routes.map((route, index) => (
 *             <Route key={index} {...route} />
 *           ))}
 *         </Routes>
 *       </BrowserRouter>
 *     </SmartStackProvider>
 *   );
 * }
 * ```
 */
export declare function mergeRoutes(clientRoutes: RouteConfig[], ssRoutes?: RouteObject[]): RouteObject[];
//# sourceMappingURL=smartstackRoutes.d.ts.map