/** * Synchronously walks through a directory and its subdirectories, returning an array of file paths. * * @public * @param dir - The directory to start walking from. * @param options - Configuration options. See {@link WalkSyncOptions} for details. * @returns An array of file paths found during the walk. * * @example * Basic usage: * ```typescript * const files = walkSync('./path/to/directory'); * console.log(files); * ``` * * @example * Ignoring folders: * ```typescript * const files = walkSync('./path/to/directory', { * ignoreFolders: ['node_modules', 'dist'], * }); * console.log(files); * ``` * * @example * Filtering by extension: * ```typescript * const tsFiles = walkSync('./path/to/directory', { * includeExtensions: ['.ts'], * }); * console.log(tsFiles); * ``` * * @example * Limiting recursion depth: * ```typescript * const files = walkSync('./path/to/directory', { * depth: 1, // Only files directly in the directory * }); * console.log(files); * ``` * * @example * Including only specific files: * ```typescript * const configFiles = walkSync('./path/to/directory', { * onlyFiles: ['package.json', 'tsconfig.json'], * }); * console.log(configFiles); * ``` */ export declare const walkSync: (dir: string, options?: WalkSyncOptions) => string[]; /** * Options for configuring the walkSync function behavior. * * @remarks * This interface provides configuration options for the {@link walkSync} function. * * @public */ export declare interface WalkSyncOptions { /** * Array of folder names to ignore (e.g., `['node_modules', '.git']`) */ ignoreFolders?: string[]; /** * Array of file extensions to include (e.g., `['.ts', '.js']`) */ includeExtensions?: string[]; /** * Array of file names to ignore (e.g., `['.eslintrc.js']`) */ ignoreFiles?: string[]; /** * Maximum depth to walk (`1` = only files in the immediate directory) */ depth?: number; /** * Array of specific file names to include */ onlyFiles?: string[]; /** * Return full paths instead of relative paths */ fullPathReturn?: boolean; } export { }