/** * createFeatureRouter * * Scans Features directory and returns Express Router. */ import { Router } from 'express'; import type { RouterOptions } from 'express'; export interface CreateFeatureRouterOptions { /** * Index file patterns (default: ['index.js', 'index.ts', 'index.mjs', 'index.mts']) */ indexPatterns?: string[]; /** * Directory patterns to exclude (default: ['node_modules', '.git', 'dist', 'build']) */ excludeDirs?: string[]; /** * Enable debug logging (default: false) */ debug?: boolean; /** * Express Router options */ routerOptions?: RouterOptions; } /** * Scan Features directory and return Express Router * * @param featuresDir - Features directory path * @param options - Options * @returns Express Router instance * * @example * ```javascript * const express = require('express') * const { createFeatureRouter } = require('express-numflow') * * const app = express() * * // Create Feature Router * const featureRouter = await createFeatureRouter('./features') * app.use(featureRouter) * * app.listen(3000) * ``` * * @example * ```javascript * // Use with options * const router = await createFeatureRouter('./features', { * debug: true, * excludeDirs: ['node_modules', 'test', 'temp'], * }) * ``` * * @example * ```javascript * // Mount on different paths * const apiRouter = await createFeatureRouter('./features/api') * const adminRouter = await createFeatureRouter('./features/admin') * * app.use('/api', apiRouter) * app.use('/admin', adminRouter) * ``` */ export declare function createFeatureRouter(featuresDir: string, options?: CreateFeatureRouterOptions): Promise; //# sourceMappingURL=create-feature-router.d.ts.map