/**
 * 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 @vorion/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
 * // CAR identity (trust fields are optional runtime context from Trust Engine)
 * const agent = {
 *   did: 'did:web:agents.vorion.org:banquet-advisor',
 *   carId: 'a3i.vorion.banquet-advisor:FHC-L3@1.2.0#gov,audit',
 *   publisher: 'vorion',
 *   name: 'Banquet Advisor',
 *   domains: 7,
 *   level: 3,
 *   version: '1.2.0',
 *   trustTier: 2,    // optional: injected by Trust Engine at runtime
 *   trustScore: 650,  // optional: injected by Trust Engine at runtime
 * };
 *
 * 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, getCoreCar as getCoreACI, buildCAR, buildCAR as buildACI, buildExtensionId, isValidExtensionId, isValidShortcode, isValidCARWithExtensions, isValidCARWithExtensions as isValidACIWithExtensions, 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";
/**
 * 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.
 *
 * @param config - Optional service configuration
 * @returns Configured extension service with built-in extensions
 *
 * @example
 * ```typescript
 * const service = await createFullExtensionService();
 *
 * // Service is ready to use with gov, mon, and audit extensions
 * const result = await service.processCapabilityRequest(agent, request);
 * ```
 */
export declare function createFullExtensionService(config?: import("./types.js").ExtensionServiceConfig): Promise<import("./service.js").CARExtensionService>;
//# sourceMappingURL=index.d.ts.map