import { CBFileSystem } from "../node/file-system"; export interface FileSystemConfig { include: { directories: DirectoryConfig[]; }; } export interface DirectoryConfig { name: string; allowedExtensions?: string[]; excludeSubdirs?: string[]; includeFiles?: string[]; excludeFiles?: string[]; } /** * File management service for handling file operations */ export declare class FileManagementService { private fileSystem; private packageConfig; constructor(fileSystem: CBFileSystem, packageConfig: FileSystemConfig); /** * Collects essential files for the serverless application package * Only includes files and directories specified in packageConfig * @param {string} appDir - The application directory * @returns {string[]} Array of file paths to package */ collectFilesToPackage(appDir: string): string[]; /** * Cleans all files and folders inside the dist directory * @param {string} appDir - The application directory */ cleanExistingPackages(appDir: string): void; /** * Determines the output path for the package * @param {string} appDir - The application directory * @param {string} appName - The application name * @param {PackageOptions} options - Package options * @returns {string} The output path for the package */ determineOutputPath(appDir: string, appName: string, packageName?: string): string; /** * Gets the file size in a human-readable format * @param {string} filePath - The file path * @returns {string} Human-readable file size */ getFileSize(filePath: string): string; /** * Collects files recursively from a directory based on directory-specific configurations * @param {string} dir - The directory to scan * @param {DirectoryConfig} dirConfig - Directory configuration with file inclusion/exclusion rules * @returns {string[]} Array of file paths relative to the scanned directory */ protected getFilesRecursively(dir: string, dirConfig: DirectoryConfig): string[]; /** * Recursively deletes a directory and all its contents * @param {string} dirPath - The directory path to delete */ protected deleteDirectoryRecursively(dirPath: string): void; }