import type { VirtualRouteNode } from './types' // this is adapted from vite/src/node/config.ts export type ConfigFnObject = () => TConfig export type ConfigFnPromise = () => Promise export type ConfigFn = () => TConfig | Promise export type ConfigExport = | TConfig | Promise | ConfigFnObject | ConfigFnPromise | ConfigFn export type VirtualRouteSubtreeConfig = Array /** * Type helper to make it easier to use __virtual.ts * accepts a direct {@link VirtualRouteSubtreeConfig} object, or a function that returns it. */ export function defineVirtualSubtreeConfig( config: VirtualRouteSubtreeConfig, ): VirtualRouteSubtreeConfig export function defineVirtualSubtreeConfig( config: Promise, ): Promise export function defineVirtualSubtreeConfig( config: ConfigFnObject, ): ConfigFnObject export function defineVirtualSubtreeConfig( config: ConfigExport, ): ConfigExport export function defineVirtualSubtreeConfig( config: ConfigExport, ): ConfigExport { return config }