/**
 * Configure Agent Use Case
 *
 * Configures the AI coding agent for the Shep platform.
 * Validates agent availability before persisting configuration.
 *
 * Business Rules:
 * - Agent binary must be available on the system before configuring
 * - Settings must exist before updating (must initialize first)
 * - Token is optional and only included when provided
 * - Returns updated settings after persistence
 */
import type { Settings, AgentType, AgentAuthMethod } from '../../../domain/generated/output.js';
import type { ISettingsRepository } from '../../ports/output/settings.repository.interface.js';
import type { IAgentValidator } from '../../ports/output/agent-validator.interface.js';
/**
 * Input for configuring an AI coding agent.
 */
export interface ConfigureAgentInput {
    type: AgentType;
    authMethod: AgentAuthMethod;
    token?: string;
}
/**
 * Use case for configuring the AI coding agent.
 *
 * Algorithm:
 * 1. Validate agent binary is available on the system
 * 2. Load current settings from repository
 * 3. Update agent configuration
 * 4. Persist updated settings
 * 5. Return updated settings
 */
export declare class ConfigureAgentUseCase {
    private readonly settingsRepository;
    private readonly agentValidator;
    constructor(settingsRepository: ISettingsRepository, agentValidator: IAgentValidator);
    /**
     * Execute the configure agent use case.
     *
     * @param input - Agent configuration input
     * @returns Updated Settings with new agent configuration
     * @throws Error if agent is not available or settings not initialized
     */
    execute(input: ConfigureAgentInput): Promise<Settings>;
}
//# sourceMappingURL=configure-agent.use-case.d.ts.map