/* eslint-disable */

// @ts-nocheck

// noinspection JSUnusedGlobalSymbols

// This file was automatically generated by TanStack Router.
// You should NOT make any changes in this file as it will be overwritten.
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.

import { Route as rootRouteImport } from './routes/__root'
import { Route as IndexRouteImport } from './routes/index'
import { Route as SplatRouteImport } from './routes/$'
import { Route as CartRouteImport } from './routes/cart'
import { Route as ContactRouteImport } from './routes/contact'
import { Route as ProductsRouteImport } from './routes/products'
import { Route as ServicesRouteImport } from './routes/services'
import { Route as ProductsIndexRouteImport } from './routes/products.index'
import { Route as ProductsSlugRouteImport } from './routes/products.$slug'

const IndexRoute = IndexRouteImport.update({
  id: '/',
  path: '/',
  getParentRoute: () => rootRouteImport,
} as any)
const SplatRoute = SplatRouteImport.update({
  id: '/$',
  path: '/$',
  getParentRoute: () => rootRouteImport,
} as any)
const CartRoute = CartRouteImport.update({
  id: '/cart',
  path: '/cart',
  getParentRoute: () => rootRouteImport,
} as any)
const ContactRoute = ContactRouteImport.update({
  id: '/contact',
  path: '/contact',
  getParentRoute: () => rootRouteImport,
} as any)
const ProductsRoute = ProductsRouteImport.update({
  id: '/products',
  path: '/products',
  getParentRoute: () => rootRouteImport,
} as any)
const ServicesRoute = ServicesRouteImport.update({
  id: '/services',
  path: '/services',
  getParentRoute: () => rootRouteImport,
} as any)
const ProductsIndexRoute = ProductsIndexRouteImport.update({
  id: '/',
  path: '/',
  getParentRoute: () => ProductsRoute,
} as any)
const ProductsSlugRoute = ProductsSlugRouteImport.update({
  id: '/$slug',
  path: '/$slug',
  getParentRoute: () => ProductsRoute,
} as any)

export interface FileRoutesByFullPath {
  '/': typeof IndexRoute
  '/$': typeof SplatRoute
  '/cart': typeof CartRoute
  '/contact': typeof ContactRoute
  '/products': typeof ProductsRouteWithChildren
  '/services': typeof ServicesRoute
  '/products/$slug': typeof ProductsSlugRoute
  '/products/': typeof ProductsIndexRoute
}
export interface FileRoutesByTo {
  '/': typeof IndexRoute
  '/$': typeof SplatRoute
  '/cart': typeof CartRoute
  '/contact': typeof ContactRoute
  '/services': typeof ServicesRoute
  '/products/$slug': typeof ProductsSlugRoute
  '/products': typeof ProductsIndexRoute
}
export interface FileRoutesById {
  __root__: typeof rootRouteImport
  '/': typeof IndexRoute
  '/$': typeof SplatRoute
  '/cart': typeof CartRoute
  '/contact': typeof ContactRoute
  '/products': typeof ProductsRouteWithChildren
  '/services': typeof ServicesRoute
  '/products/$slug': typeof ProductsSlugRoute
  '/products/': typeof ProductsIndexRoute
}
export interface FileRouteTypes {
  fileRoutesByFullPath: FileRoutesByFullPath
  fullPaths:
    | '/'
    | '/$'
    | '/cart'
    | '/contact'
    | '/products'
    | '/services'
    | '/products/$slug'
    | '/products/'
  fileRoutesByTo: FileRoutesByTo
  to:
    | '/'
    | '/$'
    | '/cart'
    | '/contact'
    | '/services'
    | '/products/$slug'
    | '/products'
  id:
    | '__root__'
    | '/'
    | '/$'
    | '/cart'
    | '/contact'
    | '/products'
    | '/services'
    | '/products/$slug'
    | '/products/'
  fileRoutesById: FileRoutesById
}
export interface RootRouteChildren {
  IndexRoute: typeof IndexRoute
  SplatRoute: typeof SplatRoute
  CartRoute: typeof CartRoute
  ContactRoute: typeof ContactRoute
  ProductsRoute: typeof ProductsRouteWithChildren
  ServicesRoute: typeof ServicesRoute
}

declare module '@tanstack/react-router' {
  interface FileRoutesByPath {
    '/': {
      id: '/'
      path: '/'
      fullPath: '/'
      preLoaderRoute: typeof IndexRouteImport
      parentRoute: typeof rootRouteImport
    }
    '/$': {
      id: '/$'
      path: '/$'
      fullPath: '/$'
      preLoaderRoute: typeof SplatRouteImport
      parentRoute: typeof rootRouteImport
    }
    '/cart': {
      id: '/cart'
      path: '/cart'
      fullPath: '/cart'
      preLoaderRoute: typeof CartRouteImport
      parentRoute: typeof rootRouteImport
    }
    '/contact': {
      id: '/contact'
      path: '/contact'
      fullPath: '/contact'
      preLoaderRoute: typeof ContactRouteImport
      parentRoute: typeof rootRouteImport
    }
    '/products': {
      id: '/products'
      path: '/products'
      fullPath: '/products'
      preLoaderRoute: typeof ProductsRouteImport
      parentRoute: typeof rootRouteImport
    }
    '/services': {
      id: '/services'
      path: '/services'
      fullPath: '/services'
      preLoaderRoute: typeof ServicesRouteImport
      parentRoute: typeof rootRouteImport
    }
    '/products/': {
      id: '/products/'
      path: '/'
      fullPath: '/products/'
      preLoaderRoute: typeof ProductsIndexRouteImport
      parentRoute: typeof ProductsRoute
    }
    '/products/$slug': {
      id: '/products/$slug'
      path: '/$slug'
      fullPath: '/products/$slug'
      preLoaderRoute: typeof ProductsSlugRouteImport
      parentRoute: typeof ProductsRoute
    }
  }
}

interface ProductsRouteChildren {
  ProductsSlugRoute: typeof ProductsSlugRoute
  ProductsIndexRoute: typeof ProductsIndexRoute
}

const ProductsRouteChildren: ProductsRouteChildren = {
  ProductsSlugRoute: ProductsSlugRoute,
  ProductsIndexRoute: ProductsIndexRoute,
}

const ProductsRouteWithChildren = ProductsRoute._addFileChildren(
  ProductsRouteChildren,
)

const rootRouteChildren: RootRouteChildren = {
  IndexRoute: IndexRoute,
  SplatRoute: SplatRoute,
  CartRoute: CartRoute,
  ContactRoute: ContactRoute,
  ProductsRoute: ProductsRouteWithChildren,
  ServicesRoute: ServicesRoute,
}
export const routeTree = rootRouteImport
  ._addFileChildren(rootRouteChildren)
  ._addFileTypes<FileRouteTypes>()

import type { getRouter } from './router.tsx'
import type { createStart } from '@tanstack/react-start'
declare module '@tanstack/react-start' {
  interface Register {
    ssr: true
    router: Awaited<ReturnType<typeof getRouter>>
  }
}
