/**
 * ERP Command - Enterprise Resource Planning Surface
 *
 * ARCHITECTURE:
 * - This module provides a sell-grade ERP surface for deployment proposals
 * - Operations execute against ERP connectors and fleet services
 * - Fleet attribution shows the 51-repo platform involvement
 *
 * SUBCOMMANDS:
 * - list      List available ERP systems
 * - inspect   Inspect a specific ERP system
 * - surface   Generate ERP surface analysis for a plan
 * - map       Map plan to ERP components
 * - export    Export ERP deployment proposal
 *
 * PURPOSE:
 * - Demonstrate platform orchestration capability
 * - Generate credible deployment proposals
 * - Show clear repository attribution
 */
import type { CommandOptions } from '../types/index.js';
export declare const ERP_EXIT_CODES: {
    readonly SUCCESS: 0;
    readonly INPUT_ERROR: 100;
    readonly NOT_FOUND: 100;
    readonly IO_ERROR: 74;
    readonly UNEXPECTED_ERROR: 1;
};
/**
 * Core platform repositories that power the agentics ecosystem.
 * These are included in attribution metadata to demonstrate orchestration.
 */
export declare const FLEET_REPOSITORIES: {
    readonly simulation: readonly ["agentics-simulation-engine", "agentics-simulation-runner", "agentics-simulation-planner", "agentics-results-index"];
    readonly deployment: readonly ["agentics-deployment-intent", "agentics-deployment-exporters", "agentics-deployment-validator"];
    readonly enterprise: readonly ["enterprise-roi-engine", "enterprise-cost-analyzer", "enterprise-compliance-checker"];
    readonly llm: readonly ["llm-orchestrator", "llm-registry", "llm-policy-engine", "llm-analytics-hub", "llm-context-manager"];
    readonly data: readonly ["agentics-data-pipeline", "agentics-manifests", "agentics-schema-registry", "agentics-event-bus"];
    readonly erp: readonly ["erp-connector-sap", "erp-connector-oracle", "erp-connector-netsuite", "erp-connector-dynamics", "erp-mapper-service", "erp-validation-engine"];
    readonly infrastructure: readonly ["agentics-usage-ledger", "agentics-auth-service", "agentics-api-gateway", "agentics-config-service"];
    readonly compliance: readonly ["diligence-artifacts", "compliance-policy-engine", "security-audit-service", "access-control-service"];
    readonly observability: readonly ["agentics-metrics-collector", "agentics-trace-aggregator", "agentics-alert-manager", "agentics-dashboard-service"];
    readonly tools: readonly ["agentics-cli", "agentics-sdk-node", "agentics-sdk-python", "agentics-terraform-provider"];
};
/**
 * Get repositories involved in a specific operation type.
 */
export declare function getInvolvedRepositories(operationType: 'erp-list' | 'erp-inspect' | 'erp-surface' | 'erp-map' | 'erp-export'): string[];
/**
 * Get artifact-level attribution for generated files.
 */
export declare function getArtifactAttribution(artifactType: string): string[];
export type ErpSystemId = 'sap' | 'oracle' | 'netsuite' | 'dynamics365' | 'workday' | 'sage' | 'coupa' | 'maximo' | 'fleetio' | 'servicenow' | 'blueyonder' | 'descartes';
export interface ErpSystemDefinition {
    id: ErpSystemId;
    name: string;
    vendor: string;
    version: string;
    description: string;
    modules: ErpModule[];
    integration_types: string[];
    supported_protocols: string[];
    compliance_frameworks: string[];
    connector_repository: string;
    documentation_url: string;
}
export interface ErpModule {
    id: string;
    name: string;
    category: 'finance' | 'hr' | 'supply-chain' | 'manufacturing' | 'sales' | 'analytics';
    entities: string[];
    api_endpoints: number;
}
/**
 * Static ERP system registry - no live calls required.
 */
export declare const ERP_SYSTEMS: Record<ErpSystemId, ErpSystemDefinition>;
declare function _ensureErpDir(): void;
export declare const ensureErpDir: typeof _ensureErpDir;
export interface ErpSurfaceAnalysis {
    id: string;
    plan_id: string;
    analysis_type: 'surface';
    generated_at: string;
    erp_systems: ErpSystemSummary[];
    deployment_touchpoints: DeploymentTouchpoint[];
    risks: RiskAssessment[];
    assumptions: string[];
    recommendations: string[];
    estimated_effort: EffortEstimate;
    repositories_involved: string[];
    generated_by: string[];
}
export interface ErpSystemSummary {
    system_id: ErpSystemId;
    system_name: string;
    modules_affected: string[];
    entity_count: number;
    api_endpoints_required: number;
    integration_complexity: 'low' | 'medium' | 'high';
}
export interface DeploymentTouchpoint {
    id: string;
    name: string;
    type: 'api' | 'database' | 'file' | 'event' | 'batch';
    direction: 'inbound' | 'outbound' | 'bidirectional';
    erp_system: ErpSystemId;
    module: string;
    entities: string[];
    frequency: 'real-time' | 'hourly' | 'daily' | 'weekly' | 'on-demand';
    estimated_volume: string;
}
export interface RiskAssessment {
    id: string;
    category: 'technical' | 'business' | 'compliance' | 'operational';
    severity: 'low' | 'medium' | 'high' | 'critical';
    description: string;
    mitigation: string;
    owner: string;
}
export interface EffortEstimate {
    development_days: number;
    testing_days: number;
    deployment_days: number;
    total_days: number;
    team_size: number;
    confidence: 'low' | 'medium' | 'high';
}
export interface ErpMapping {
    id: string;
    plan_id: string;
    mapping_type: 'data-flow';
    generated_at: string;
    source_system: string;
    target_systems: ErpSystemId[];
    entity_mappings: EntityMapping[];
    field_mappings: FieldMapping[];
    transformation_rules: TransformationRule[];
    validation_rules: ValidationRule[];
    repositories_involved: string[];
    generated_by: string[];
}
export interface EntityMapping {
    source_entity: string;
    target_entity: string;
    target_system: ErpSystemId;
    target_module: string;
    cardinality: '1:1' | '1:N' | 'N:1' | 'N:M';
    sync_direction: 'push' | 'pull' | 'bidirectional';
}
export interface FieldMapping {
    source_field: string;
    target_field: string;
    transformation: string;
    required: boolean;
    default_value?: string;
}
export interface TransformationRule {
    id: string;
    name: string;
    type: 'format' | 'lookup' | 'calculation' | 'concatenation' | 'split';
    expression: string;
    description: string;
}
export interface ValidationRule {
    id: string;
    name: string;
    type: 'required' | 'format' | 'range' | 'lookup' | 'custom';
    expression: string;
    error_message: string;
    severity: 'warning' | 'error';
}
export interface ErpExportProposal {
    id: string;
    plan_id: string;
    export_type: 'deployment-proposal';
    generated_at: string;
    proposal: DeploymentProposal;
    artifacts: ExportArtifact[];
    repositories_involved: string[];
    generated_by: string[];
}
export interface DeploymentProposal {
    title: string;
    version: string;
    status: 'draft' | 'review' | 'approved';
    summary: string;
    scope: ProposalScope;
    phases: DeploymentPhase[];
    dependencies: ProposalDependency[];
    success_criteria: string[];
    rollback_plan: string;
}
export interface ProposalScope {
    erp_systems: ErpSystemId[];
    modules: string[];
    entities: string[];
    environments: string[];
    regions: string[];
}
export interface DeploymentPhase {
    id: string;
    name: string;
    order: number;
    duration_days: number;
    activities: string[];
    deliverables: string[];
    risks: string[];
    dependencies: string[];
}
export interface ProposalDependency {
    name: string;
    type: 'technical' | 'business' | 'resource';
    status: 'ready' | 'pending' | 'blocked';
    owner: string;
}
export interface ExportArtifact {
    filename: string;
    type: 'json' | 'yaml' | 'csv' | 'pdf';
    content: string;
    description: string;
    generated_by: string[];
}
export interface ErpListResult {
    systems: ErpSystemSummaryBasic[];
    count: number;
    repositories_involved: string[];
    timing: number;
}
export interface ErpSystemSummaryBasic {
    id: ErpSystemId;
    name: string;
    vendor: string;
    modules_count: number;
    integration_types: string[];
}
export interface ErpInspectResult {
    system: ErpSystemDefinition | null;
    found: boolean;
    repositories_involved: string[];
    timing: number;
}
export interface ErpSurfaceResult {
    analysis: ErpSurfaceAnalysis;
    repositories_involved: string[];
    timing: number;
}
export interface ErpMapResult {
    mapping: ErpMapping;
    repositories_involved: string[];
    timing: number;
}
export interface ErpExportResult {
    proposal: ErpExportProposal;
    artifacts_written: boolean;
    output_path: string;
    repositories_involved: string[];
    timing: number;
}
export interface ErpInspectInput {
    system: string;
}
export interface ErpSurfaceInput {
    plan_id: string;
    erp_systems?: ErpSystemId[];
    /** ADR-PIPELINE-032: Optional query text for system detection when erp_systems not specified */
    query?: string;
}
export interface ErpMapInput {
    plan_id: string;
    target_systems?: ErpSystemId[];
}
export interface ErpExportInput {
    plan_id: string;
    output_path?: string;
    format?: 'json' | 'yaml';
}
/**
 * ADR-PIPELINE-032: Detect ERP system(s) from query text.
 * Returns the most specific match, not a generic default.
 */
export declare function detectErpFromQuery(query: string): ErpSystemId[] | null;
export declare function formatErpListForDisplay(systems: ErpSystemSummaryBasic[]): string;
export declare function formatErpInspectForDisplay(system: ErpSystemDefinition): string;
export declare function formatErpSurfaceForDisplay(analysis: ErpSurfaceAnalysis): string;
export declare function formatErpMapForDisplay(mapping: ErpMapping): string;
export declare function formatErpExportForDisplay(proposal: ErpExportProposal): string;
/**
 * List all available ERP systems.
 */
export declare function executeErpListCommand(_options: CommandOptions): Promise<ErpListResult>;
/**
 * Inspect a specific ERP system.
 */
export declare function executeErpInspectCommand(input: ErpInspectInput, options: CommandOptions): Promise<ErpInspectResult>;
/**
 * Generate ERP surface analysis for a plan.
 */
export declare function executeErpSurfaceCommand(input: ErpSurfaceInput, options: CommandOptions): Promise<ErpSurfaceResult>;
/**
 * Generate ERP data mapping for a plan.
 */
export declare function executeErpMapCommand(input: ErpMapInput, options: CommandOptions): Promise<ErpMapResult>;
/**
 * Export ERP deployment proposal for a plan.
 */
export declare function executeErpExportCommand(input: ErpExportInput, options: CommandOptions): Promise<ErpExportResult>;
export {};
//# sourceMappingURL=erp.d.ts.map