/** * WebSocket Feature Scanner * * Scans WebSocket features directory to auto-discover Features * * Folder structure: * ws/ * └── chat/ * ├── @connect/ * │ └── steps/ * │ └── 100-authenticate.js * ├── @disconnect/ * │ └── steps/ * │ └── 100-cleanup.js * └── send/ * └── @message/ * ├── steps/ * │ └── 100-broadcast.js * └── async-tasks/ * └── notify.js */ import type { ScannedWsFeature } from './types'; /** * Scanner options */ export interface WsScanOptions { /** * WebSocket features directory path */ directory: string; /** * Index file patterns * @default ['index', 'index.ts', 'index.mjs', 'index.mts'] */ indexPatterns?: string[]; /** * Directories to exclude * @default ['node_modules', '.git', 'dist', 'build'] */ excludeDirs?: string[]; /** * Debug logging * @default false */ debug?: boolean; } /** * WebSocket Feature Scanner class */ export declare class WsFeatureScanner { private options; private baseDir; constructor(options: WsScanOptions); /** * Scan WebSocket features */ scan(): Promise; /** * Recursive directory scan */ private scanDirectory; /** * Create Feature */ private createFeature; /** * Load Steps */ private loadSteps; /** * Load Async Tasks */ private loadAsyncTasks; /** * Load Feature configuration (index.js) */ private loadConfig; /** * Debug log */ private log; } /** * WebSocket features scan helper function */ export declare function scanWsFeatures(directory: string, options?: Partial): Promise; //# sourceMappingURL=scanner.d.ts.map