/**
 * Integration Registry (ADR-004, Domain 3)
 *
 * PURPOSE: Describe enterprise system capabilities declaratively.
 * Integrations are reference material for simulations, not executable connectors.
 *
 * WHAT THIS IS:
 * - A catalog of enterprise system capabilities
 * - Declarative descriptions of what each system does
 * - Reference material consulted during simulation
 *
 * WHAT THIS IS NOT:
 * - An API client or connector library
 * - An execution engine for enterprise systems
 * - A credential store for system connections
 *
 * INVARIANT 5: Integrations are described and proposed, not executed,
 * during simulation.
 */
/**
 * An enterprise integration capability definition.
 * Describes what a system does, not how to connect to it.
 */
export interface IntegrationDefinition {
    /** System identifier (lowercase, hyphenated) */
    name: string;
    /** Human-readable display name */
    display_name: string;
    /** Integration category */
    category: IntegrationCategory;
    /** What the system is responsible for */
    description: string;
    /** Data entities this system owns or participates in */
    data_entities: string[];
    /** Integration points (conceptual, not connection details) */
    integration_points: string[];
    /** Known constraints (rate limits, data formats, etc.) */
    constraints: string[];
}
export type IntegrationCategory = 'erp' | 'crm' | 'hr' | 'finance' | 'logistics' | 'itsm' | 'devops' | 'analytics' | 'compliance' | 'communication' | 'identity' | 'infrastructure';
/**
 * Registry of known enterprise system capabilities.
 *
 * Each entry describes what the system CAN do in an enterprise context.
 * This registry is consulted during simulation to understand which
 * systems are relevant and what constraints apply.
 *
 * It does NOT contain connection details, API endpoints, or credentials.
 */
export declare const INTEGRATION_REGISTRY: readonly IntegrationDefinition[];
/**
 * Look up an integration by name.
 * Returns undefined if not found.
 */
export declare function lookupIntegration(name: string): IntegrationDefinition | undefined;
/**
 * Get all integrations in a category.
 */
export declare function getIntegrationsByCategory(category: IntegrationCategory): readonly IntegrationDefinition[];
/**
 * Get all integration names.
 */
export declare function getIntegrationNames(): string[];
/**
 * Check if a named integration is known in the registry.
 */
export declare function isKnownIntegration(name: string): boolean;
/**
 * Get the data entities affected by a named integration.
 * Returns empty array if integration is not known.
 */
export declare function getAffectedEntities(integrationName: string): string[];
//# sourceMappingURL=integration-registry.d.ts.map