import type { ICliInterfaceService } from "../../application/interface/cli-interface-service.interface";
import type { IConfigService } from "../../application/interface/config-service.interface";
import type { IFileSystemService } from "../../application/interface/file-system-service.interface";
import type { IModuleService } from "../interface/module-service.interface";
import { EModule } from "../../domain/enum/module.enum";
/**
 * Mapper class for creating module service instances based on module type.
 * Provides a central factory for all available module services in the application.
 */
export declare class ModuleServiceMapper {
    /** CLI interface service for user interaction */
    readonly CLI_INTERFACE_SERVICE: ICliInterfaceService;
    /** Configuration service for reading and writing config */
    readonly CONFIG_SERVICE: IConfigService;
    /** File system service for file operations */
    readonly FILE_SYSTEM_SERVICE: IFileSystemService;
    /**
     * Initializes a new instance of the ModuleServiceMapper.
     * @param cliInterfaceService - Service for CLI user interactions
     * @param fileSystemService - Service for file system operations
     */
    constructor(cliInterfaceService: ICliInterfaceService, fileSystemService: IFileSystemService);
    /**
     * Gets a module service instance based on the specified module type.
     * Factory method that creates the appropriate service implementation.
     * @param module - The module type enum value
     * @returns An implementation of IModuleService for the specified module
     * @throws Error if the module type is not supported
     */
    getModuleService(module: EModule): IModuleService;
}
//# sourceMappingURL=module-service.mapper.d.ts.map