import type { IAiProfileService } from '../interface/ai-profile-service.interface'; import type { ICliInterfaceService } from '../interface/cli-interface-service.interface'; import type { IConfigService } from '../interface/config-service.interface'; import { LLMConfiguration } from '../../domain/entity/llm-configuration.entity'; import { ECommitMode } from '../../domain/enum/commit-mode.enum'; /** * Use case for configuring LLM settings. */ export declare class ConfigureLLMUseCase { private readonly AI_PROFILE_SERVICE; private readonly CLI_INTERFACE; private readonly CONFIG_SERVICE; constructor(configService: IConfigService, cliInterface: ICliInterfaceService, aiProfileService: IAiProfileService); /** * Configure LLM settings interactively. * @returns {Promise} Promise resolving to the new configuration. */ configureInteractively(): Promise; /** * Get the current LLM configuration. * @returns {Promise} Promise resolving to the current configuration or null if not configured. */ getCurrentConfiguration(): Promise; getMockConfiguration(): Promise; /** * Check if the current configuration needs LLM details. * @returns {Promise} Promise resolving to true if LLM details are needed. */ needsLLMDetails(): Promise; /** * Save LLM configuration. * @param {LLMConfiguration} configuration - The configuration to save. * @returns {Promise} Promise that resolves when configuration is saved. */ saveConfiguration(configuration: LLMConfiguration): Promise; /** * Update the commit mode. * @param {ECommitMode} mode - The new mode. * @returns {Promise} Promise resolving to the updated configuration. */ updateMode(mode: ECommitMode): Promise; private createManualConfiguration; private getConfigWithDefaults; }