/**
 * CLI UX Agent Implementation
 *
 * CONSTITUTION REFERENCE: PROMPT 0, PROMPT 1, PROMPT 2
 *
 * AGENT NAME: CLI UX Agent
 * CLASSIFICATION: CLI_UX_ORCHESTRATION
 *
 * PURPOSE:
 * Provide a consistent, guided, and contract-validated command-line user
 * experience for interacting with the Agentics Dev platform.
 *
 * SCOPE:
 * - Parse and validate CLI commands
 * - Guide users through workflows
 * - Orchestrate calls to Agentics services
 * - Normalize and present outputs
 * - Emit UX-level interaction signals
 *
 * NON-RESPONSIBILITIES (EXPLICIT):
 * - Execute inference
 * - Execute workflows
 * - Modify upstream state directly
 * - Apply optimizations
 * - Enforce governance or policy decisions
 * - Trigger retries or automation implicitly
 * - Persist business state
 * - Connect directly to databases
 */
import type { AgentIdentifier, AgentRegistration, CLIUXAgentInput, CLIUXAgentOutput, AgentResult, ParsedCommand, AgentContext, OutputFormat, ConfidenceScore } from './types.js';
/**
 * CLI UX Agent registration metadata.
 * Defines the complete contract for this agent.
 */
export declare const CLI_UX_AGENT_REGISTRATION: AgentRegistration;
export interface ICLIUXAgent {
    /**
     * Get agent identifier.
     */
    getIdentifier(): AgentIdentifier;
    /**
     * Get agent registration.
     */
    getRegistration(): AgentRegistration;
    /**
     * Process a CLI command.
     * This is the main entry point for agent invocation.
     */
    process(input: CLIUXAgentInput): Promise<CLIUXAgentOutput>;
    /**
     * Validate command syntax.
     */
    validateCommand(command: ParsedCommand): ValidationResult;
    /**
     * Resolve environment context.
     */
    resolveContext(args: string[]): AgentContext;
    /**
     * Calculate confidence for a decision.
     */
    calculateConfidence(input: CLIUXAgentInput, result: AgentResult): ConfidenceScore;
}
export interface ValidationResult {
    valid: boolean;
    errors: ValidationError[];
}
export interface ValidationError {
    field: string;
    message: string;
    code: string;
}
export interface CLIUXAgentConfig {
    /** Enable DecisionEvent emission */
    emit_decisions?: boolean;
    /** Enable telemetry */
    emit_telemetry?: boolean;
    /** RuVector service URL for DecisionEvent emission */
    ruvector_url?: string;
    /** Telemetry endpoint */
    telemetry_endpoint?: string;
    /** Default output format */
    default_output_format?: OutputFormat;
    /** Default timeout in ms */
    default_timeout?: number;
}
export declare class CLIUXAgent implements ICLIUXAgent {
    private readonly config;
    private readonly decisionEmitter;
    private readonly telemetryEmitter;
    constructor(config?: CLIUXAgentConfig);
    /**
     * Get agent identifier.
     */
    getIdentifier(): AgentIdentifier;
    /**
     * Get agent registration.
     */
    getRegistration(): AgentRegistration;
    /**
     * Process a CLI command.
     *
     * EXECUTION FLOW:
     * 1. Record invocation telemetry
     * 2. Validate command
     * 3. Resolve execution context
     * 4. Calculate confidence
     * 5. Build result
     * 6. Emit DecisionEvent (async, non-blocking)
     * 7. Record completion telemetry
     * 8. Return output
     *
     * CONFIRMS:
     * - This agent does NOT execute inference
     * - This agent does NOT modify platform state
     * - This agent does NOT enforce policies
     * - This agent does NOT trigger automation implicitly
     */
    process(input: CLIUXAgentInput): Promise<CLIUXAgentOutput>;
    /**
     * Validate command syntax and structure.
     */
    validateCommand(command: ParsedCommand): ValidationResult;
    /**
     * Resolve environment context from arguments.
     */
    resolveContext(args: string[]): AgentContext;
    /**
     * Confidence scoring removed — this is platform-side logic.
     * The CLI does not score, rank, or evaluate. It formats and sends.
     * Returns a neutral stub for contract compatibility.
     */
    calculateConfidence(_input: CLIUXAgentInput, _result: AgentResult): ConfidenceScore;
    private buildOutput;
    private buildDecisionEvent;
    /**
     * Decision type classification removed — this is platform-side logic.
     * The CLI does not classify intent or decision types.
     * Returns a neutral default for contract compatibility.
     */
    private determineDecisionType;
    private buildConstraints;
    private buildSuccessResult;
    private buildErrorResult;
    private checkForGuidance;
    private parseFlags;
    private parseOptions;
    private checkAuthentication;
    private checkExecutionGate;
    private computeInputHash;
}
/**
 * Create a CLI UX Agent instance.
 */
export declare function createCLIUXAgent(config?: CLIUXAgentConfig): ICLIUXAgent;
/**
 * Get the CLI UX Agent registration.
 */
export declare function getCLIUXAgentRegistration(): AgentRegistration;
//# sourceMappingURL=cli-ux-agent.d.ts.map