/**
 * Quantify Command - CRUD Command for ROI Report Management
 *
 * ARCHITECTURE:
 * - This module supports both orchestration commands AND local CRUD operations
 * - Local CRUD uses file-based persistence in .agentics/quantify/
 * - Has its own error handling and exit codes
 *
 * SUBCOMMANDS (Local CRUD):
 * - list      List all ROI reports
 * - inspect   Inspect a specific report by ID
 * - create    Create a new ROI report record
 * - delete    Delete a report
 * - compare   Compare two reports
 *
 * ORCHESTRATION (External):
 * - Default command executes via enterprise-roi-engine
 */
import type { CommandOptions, RoiReportReference, SimulationReference, RoiReportType, FlexibleInput } from '../types/index.js';
export declare const QUANTIFY_EXIT_CODES: {
    readonly SUCCESS: 0;
    readonly INPUT_ERROR: 100;
    readonly NOT_FOUND: 100;
    readonly IO_ERROR: 74;
    readonly UNEXPECTED_ERROR: 1;
};
export interface QuantifyRecord {
    id: string;
    name: string;
    description: string;
    report_type: RoiReportType;
    simulation_id?: string;
    status: QuantifyStatus;
    metrics: RoiMetrics;
    created_at: string;
    updated_at: string;
    version: number;
    metadata?: Record<string, unknown>;
}
export type QuantifyStatus = 'draft' | 'pending' | 'completed' | 'archived';
export interface RoiMetrics {
    total_cost_savings?: number;
    total_revenue_impact?: number;
    roi_percentage?: number;
    payback_period_months?: number;
    net_present_value?: number;
    internal_rate_of_return?: number;
    currency: string;
    time_horizon: string;
}
export interface QuantifyCreateInput {
    name: string;
    description?: string;
    report_type?: RoiReportType;
    simulation_id?: string;
    metrics?: Partial<RoiMetrics>;
    metadata?: Record<string, unknown>;
}
export interface QuantifyCreateResult {
    report: QuantifyRecord;
    timing: number;
}
export interface QuantifyListInput {
    status?: QuantifyStatus;
    report_type?: RoiReportType;
    limit?: number;
}
export interface QuantifyListResult {
    reports: QuantifySummary[];
    count: number;
    timing: number;
}
export interface QuantifySummary {
    id: string;
    name: string;
    report_type: RoiReportType;
    status: string;
    created_at: string;
    roi_percentage?: number;
}
export interface QuantifyInspectInput {
    id: string;
}
export interface QuantifyInspectResult {
    report: QuantifyRecord | null;
    found: boolean;
    timing: number;
}
export interface QuantifyDeleteInput {
    id: string;
}
export interface QuantifyDeleteResult {
    deleted: boolean;
    id: string;
    timing: number;
}
export interface QuantifyCompareInput {
    idA: string;
    idB: string;
}
export interface QuantifyCompareResult {
    reportA: QuantifyRecord | null;
    reportB: QuantifyRecord | null;
    comparison: ComparisonSummary | null;
    timing: number;
}
export interface ComparisonSummary {
    delta_roi: number | null;
    delta_cost_savings: number | null;
    delta_revenue_impact: number | null;
    percentage_difference: number | null;
    better_report: string | null;
    summary: string;
}
export declare function formatQuantifyForDisplay(record: QuantifyRecord): string;
export declare function formatQuantifyListForDisplay(reports: QuantifySummary[]): string;
export declare function formatCompareForDisplay(result: QuantifyCompareResult): string;
export interface QuantifyCommandInput {
    simRef: FlexibleInput<SimulationReference>;
    reportType?: RoiReportType;
    timeHorizon?: 'quarterly' | 'annual' | '3-year' | '5-year';
    currency?: string;
    discountRate?: number;
}
export interface QuantifyCommandResult {
    reference: RoiReportReference;
    timing: number;
}
export declare function executeQuantifyCommand(input: QuantifyCommandInput, options: CommandOptions): Promise<QuantifyCommandResult>;
/**
 * Create a new ROI report record
 */
export declare function executeQuantifyCreateCommand(input: QuantifyCreateInput, options: CommandOptions): Promise<QuantifyCreateResult>;
/**
 * List ROI reports from local storage
 */
export declare function executeQuantifyListCommand(input: QuantifyListInput, _options: CommandOptions): Promise<QuantifyListResult>;
/**
 * Inspect a specific ROI report by ID
 */
export declare function executeQuantifyInspectCommand(input: QuantifyInspectInput, options: CommandOptions): Promise<QuantifyInspectResult>;
/**
 * Delete an ROI report
 */
export declare function executeQuantifyDeleteCommand(input: QuantifyDeleteInput, options: CommandOptions): Promise<QuantifyDeleteResult>;
/**
 * Compare two ROI reports (stubbed math)
 */
export declare function executeQuantifyCompareCommand(input: QuantifyCompareInput, options: CommandOptions): Promise<QuantifyCompareResult>;
//# sourceMappingURL=quantify.d.ts.map