import { RouteConfigEntry, RouteConfig } from '@react-router/dev/routes';

interface RouteInfo {
    path: string;
    file: string;
    isLayout: boolean;
}
interface LayoutInfo {
    path: string;
    file: string;
    directoryPrefix: string;
}
interface ProcessedRoute extends RouteConfigEntry {
    originalPath?: string;
    directoryPrefix?: string;
}

/**
 * Enhanced file-based routing for React Router with support for:
 * - Nested directories and files
 * - Automatic layout inheritance
 * - Layout overrides at any nesting level
 * - Pathless layouts for root-level overrides
 *
 * @returns Promise<RouteConfig> - Enhanced route configuration
 */
declare const enhancedFlatRoutes: () => Promise<RouteConfig>;

export { type LayoutInfo, type ProcessedRoute, type RouteInfo, enhancedFlatRoutes as flatRoutes };
