/**
 * Check Agent Auth Use Case
 *
 * Reports the install + auth status of the currently selected AI coding
 * agent. Used by the onboarding empty state to drive the "Ready / Not
 * installed / Needs auth" checklist.
 *
 * Owns:
 *  - Reading the active agent type from settings
 *  - Mapping agent type → user-facing label, tool id, binary name
 *  - Looking up tool installation status via ListToolsUseCase
 *  - Delegating credential detection to IAgentAuthDetectorService
 *
 * Presentation-agnostic: callable from CLI, TUI, and Web identically.
 * The shape returned mirrors what the web UI consumes today; CLI/TUI may
 * project a subset.
 */
import type { IAgentAuthDetectorService } from '../../ports/output/services/agent-auth-detector.interface.js';
import type { ISettingsRepository } from '../../ports/output/repositories/settings.repository.interface.js';
import { ListToolsUseCase } from '../tools/list-tools.use-case.js';
export interface CheckAgentAuthResult {
    /** Raw agent type string (matches AgentType enum values, or 'unknown'). */
    agentType: string;
    /** Whether the CLI tool binary is installed. */
    installed: boolean;
    /** Whether credentials / auth appear valid. */
    authenticated: boolean;
    /** Human-readable label for the agent (e.g. "Claude Code"). */
    label: string;
    /** CLI binary name (e.g. "claude", "gemini"). */
    binaryName: string | null;
    /** Shell command to install the tool, resolved for the current platform. */
    installCommand: string | null;
    /** Hint to show the user when not authenticated (typically the binary name). */
    authCommand: string | null;
}
export declare class CheckAgentAuthUseCase {
    private readonly listToolsUseCase;
    private readonly authDetector;
    private readonly settingsRepository;
    constructor(listToolsUseCase: ListToolsUseCase, authDetector: IAgentAuthDetectorService, settingsRepository: ISettingsRepository);
    execute(): Promise<CheckAgentAuthResult>;
}
//# sourceMappingURL=check-agent-auth.use-case.d.ts.map