/**
 * CAR Extension Protocol Implementation
 *
 * Enables Layer 4 (Runtime Assurance) functionality through a pluggable
 * extension system. This module provides the core infrastructure for:
 *
 * - Extension registration and lifecycle management
 * - Hook execution with timeout enforcement
 * - Result aggregation across multiple extensions
 * - CAR string extension parsing
 *
 * @packageDocumentation
 * @module @vorionsys/car-extensions
 * @license Apache-2.0
 *
 * @example
 * ```typescript
 * import {
 *   createExtensionService,
 *   cognigateExtension,
 *   monitoringExtension,
 *   auditExtension,
 * } from './car-extensions';
 *
 * // Create and configure the service
 * const service = createExtensionService({
 *   failFast: true,
 *   logExecution: true,
 * });
 *
 * // Register built-in extensions
 * await service.registerExtension(cognigateExtension);
 * await service.registerExtension(monitoringExtension);
 * await service.registerExtension(auditExtension);
 *
 * // Process a capability request
 * const agent = {
 *   did: 'did:web:agents.vorion.org:banquet-advisor',
 *   car: 'a3i.vorion.banquet-advisor:FHC-L3@1.2.0#gov,audit',
 *   publisher: 'vorion',
 *   name: 'Banquet Advisor',
 *   trustTier: 2,
 *   trustScore: 650,
 *   domains: 7,
 *   level: 3,
 *   version: '1.2.0',
 * };
 *
 * const result = await service.processCapabilityRequest(agent, {
 *   domains: ['food', 'hospitality', 'catering'],
 *   level: 3,
 *   context: {
 *     source: 'api',
 *     purpose: 'menu-planning',
 *   },
 * });
 *
 * if (result.granted) {
 *   console.log('Capability granted:', result.grant);
 * } else {
 *   console.log('Denied by:', result.deniedBy, '-', result.denialReason);
 * }
 * ```
 */
export type { TrustTier, AgentIdentity, Attestation, RequestContext, Constraint, CapabilityRequest, CapabilityGrant, ActionTarget, ActionRequest, SideEffect, ActionResult, ActionRecord, PreCheckResult, ActionModification, ApprovalRequirement, PreActionResult, ExpiryDecision, FailureResponse, BehaviorMetrics, BehaviorVerificationResult, MetricsReport, AnomalyReport, AnomalyResponse, RevocationEvent, TrustAdjustment, TrustAdjustmentResult, AttestationVerificationResult, EnvironmentContext, PolicyContext, PolicyEvidence, PolicyObligation, PolicyDecision, PolicySource, LifecycleHooks, CapabilityHooks, ActionHooks, MonitoringHooks, TrustHooks, PolicyEngine, CARExtension, AggregatedPreCheckResult, AggregatedPreActionResult, AggregatedFailureResponse, AggregatedBehaviorResult, AggregatedMetricsReport, AggregatedAnomalyResponse, AggregatedTrustResult, AggregatedPolicyDecision, ExtensionInfo, ValidationResult, ExtensionServiceConfig, HookTimeout, } from './types.js';
export { TrustTierSchema, AgentIdentitySchema, AttestationSchema, RequestContextSchema, ConstraintSchema, CapabilityRequestSchema, CapabilityGrantSchema, ActionTargetSchema, ActionRequestSchema, SideEffectSchema, ActionResultSchema, ActionRecordSchema, PreCheckResultSchema, ActionModificationSchema, ApprovalRequirementSchema, PreActionResultSchema, ExpiryDecisionSchema, FailureResponseSchema, BehaviorMetricsSchema, BehaviorVerificationResultSchema, MetricsReportSchema, AnomalyReportSchema, AnomalyResponseSchema, RevocationEventSchema, TrustAdjustmentSchema, TrustAdjustmentResultSchema, AttestationVerificationResultSchema, EnvironmentContextSchema, PolicyContextSchema, PolicyEvidenceSchema, PolicyObligationSchema, PolicyDecisionSchema, PolicySourceSchema, CARExtensionMetadataSchema, ValidationResultSchema, ExtensionServiceConfigSchema, HOOK_TIMEOUTS, } from './types.js';
export { ExtensionRegistry, createExtensionRegistry } from './registry.js';
export { ExtensionExecutor, createExtensionExecutor } from './executor.js';
export { parseExtensions, type ParsedExtensions, ParsedExtensionsSchema, addExtension, addExtensions, removeExtension, removeExtensions, replaceExtensions, sortExtensions, hasExtension, hasAllExtensions, hasAnyExtension, getExtensionCount, haveEqualExtensions, getCoreCAR, buildCAR, buildExtensionId, isValidExtensionId, isValidShortcode, isValidCARWithExtensions, parseExtensionId, } from './car-string-extensions.js';
export { CARExtensionService, createExtensionService, createExtensionServiceWithRegistry, type CapabilityRequestResult, type ActionProcessingResult, } from './service.js';
export { cognigateExtension, createGovernanceExtension, } from './builtin-extensions/governance.js';
export { monitoringExtension, createMonitoringExtension, } from './builtin-extensions/monitoring.js';
export { auditExtension, createAuditExtension, queryAuditEvents, verifyAuditChain, type AuditEventType, } from './builtin-extensions/audit.js';
/** @deprecated Use `CARExtension` instead. */
export type { CARExtension as ACIExtension } from './types.js';
/** @deprecated Use `CARExtensionMetadataSchema` instead. */
export { CARExtensionMetadataSchema as ACIExtensionMetadataSchema } from './types.js';
/** @deprecated Use `getCoreCAR` instead. */
export { getCoreCAR as getCoreACI } from './car-string-extensions.js';
/** @deprecated Use `buildCAR` instead. */
export { buildCAR as buildACI } from './car-string-extensions.js';
/** @deprecated Use `isValidCARWithExtensions` instead. */
export { isValidCARWithExtensions as isValidACIWithExtensions } from './car-string-extensions.js';
/** @deprecated Use `CARExtensionService` instead. */
export { CARExtensionService as ACIExtensionService } from './service.js';
/**
 * Create a fully configured extension service with all built-in extensions
 *
 * This is the quickest way to get started with the CAR Extension Protocol.
 * It creates a service with the governance, monitoring, and audit extensions
 * pre-registered.
 */
export declare function createFullExtensionService(config?: import('./types.js').ExtensionServiceConfig): Promise<import('./service.js').CARExtensionService>;
//# sourceMappingURL=index.d.ts.map