/**
 * Declarative Infrastructure API - CDK Implementation
 *
 * This module provides the CDK implementation for the declarative infrastructure API.
 * It includes factories, builders, strategies, and other patterns for creating
 * AWS resources with full CDK access while adding framework integration.
 *
 * @module declarative-api
 */
export type { ResourceType, LifecycleStateType, ResourceMetadata, Stage, IResourceEntity, ILifecycleState, IResourceVisitor, } from '../../lib/runtime-web/types/declarative-api';
export type { ValidationError, ValidationSeverity, ISpecification, IAsyncSpecification, } from '../../lib/runtime-web/types/declarative-api';
export { RESOURCE_TYPES, LIFECYCLE_STATES, STATE_TRANSITIONS, STAGES, isValidResourceType, isValidLifecycleState, isValidStage, ResourceValueObject, isTableResource, isQueueResource, isTopicResource, isBucketResource, isCognitoResource, isEventBusResource, isCompositeResource, isResourceType, isResourceEntity, } from '../../lib/runtime-web/types/declarative-api';
export { BaseSpecification, AndSpecification, OrSpecification, NotSpecification, ValidResourceNameSpec, RequiredFieldSpec, StageSpecificSpec, } from './specification';
export type { ILifecycleStateExtended, IRetryableState, IRollbackableState, StateTransitionEvent, StateTransitionLog, StateTransitionCallback, } from './lifecycle-state';
export { InvalidStateTransitionError, BaseLifecycleState, PendingState, CreatingState, CreatedState, ModifyingState, DeletingState, DeletedState, FailedState, createStateInstance, isRetryableState, isRollbackableState, } from './lifecycle-state';
export { EventBusMediator, NoRequestHandlerError, RequestHandlerAlreadyRegisteredError, } from './event-bus-mediator';
export type { IBaseEvent, ResourceCreatedEvent, ResourceModifiedEvent, ResourceDeletedEvent, ResourceStateChangedEvent, ResourceEvent, ResourceEventType, PropertyChange, EventHandler, RequestHandler, Subscription, EventLogEntry, IEventBusMediator, } from '../../lib/runtime-web/types/declarative-api';
export { RESOURCE_EVENT_TYPES, isResourceEventType, isResourceCreatedEvent, isResourceModifiedEvent, isResourceDeletedEvent, isResourceStateChangedEvent, isResourceEvent, createResourceCreatedEvent, createResourceModifiedEvent, createResourceDeletedEvent, createResourceStateChangedEvent, } from '../../lib/runtime-web/types/declarative-api';
export type { IResourceRepository, ITypedResourceRepository, IResourceRepositoryFactory, } from '../../lib/runtime-web/types/declarative-api';
export { ResourceNotFoundException, DuplicateResourceError, isResourceNotFoundException, isDuplicateResourceError, ResourceRepository, TypedResourceRepository, ResourceRepositoryFactory, } from './repository';
export type { ObserverPriority, ObserverType, IResourceObserver, IObserverRegistry, ObserverNotificationResult, BatchNotificationResult, IObserverNotifier, } from '../../lib/runtime-web/types/declarative-api';
export { OBSERVER_PRIORITIES, OBSERVER_TYPES, isObserverType, } from '../../lib/runtime-web/types/declarative-api';
export { DuplicateObserverError, isDuplicateObserverError, ObserverRegistry, ObserverNotifier, BaseResourceObserver, AutoGrantObserver, AutoInjectObserver, LoggingObserver, MetricsObserver, } from './observer';
export type { AutoGrantConfig, AutoInjectConfig, LoggingConfig, LogLevel, LogEntry, MetricsConfig, MetricType, MetricEntry, } from './observer/built-in-observers';
export type { IntegrationStrategyType, GrantOptions, InjectOptions, GrantResult, InjectResult, IIntegrationStrategy, IIntegrationStrategyFactory, } from '../../lib/runtime-web/types/declarative-api';
export { INTEGRATION_STRATEGY_TYPES, isValidIntegrationStrategyType, } from '../../lib/runtime-web/types/declarative-api';
export { BaseIntegrationStrategy, FullAccessStrategy, ReadOnlyStrategy, WriteOnlyStrategy, CompositeStrategy, CustomStrategy, IntegrationStrategyFactory, } from './strategy';
export type { PermissionLevel, PermissionRequest, AuditLogEntry, PermissionResult, IPermissionHandler, IPermissionChain, IPermissionHandlerFactory, } from '../../lib/runtime-web/types/declarative-api';
export { PERMISSION_LEVELS, isValidPermissionLevel, } from '../../lib/runtime-web/types/declarative-api';
export { PermissionChain, BasePermissionHandler, PermissionHandlerFactory, TablePermissionHandler, QueuePermissionHandler, TopicPermissionHandler, BucketPermissionHandler, getTableReadActions, getTableWriteActions, getTableFullActions, getQueueReadActions, getQueueWriteActions, getQueueFullActions, getTopicReadActions, getTopicWriteActions, getTopicFullActions, getBucketReadActions, getBucketWriteActions, getBucketFullActions, } from './permission-chain';
export type { DecoratorType, DecoratorPriority, DecoratorResult, IResourceDecorator, IConditionalDecorator, IDecoratorRegistry, DecoratorCompositionResult, IDecoratorComposer, } from '../../lib/runtime-web/types/declarative-api';
export { DECORATOR_TYPES, DECORATOR_PRIORITIES, isDecoratorType, } from '../../lib/runtime-web/types/declarative-api';
export { DuplicateDecoratorError, isDuplicateDecoratorError, BaseResourceDecorator, DecoratorRegistry, DecoratorComposer, TaggingDecorator, LoggingDecorator, MetricsDecorator, EncryptionDecorator, } from './decorator';
export type { DecoratorLogEntry, TaggingConfig, LoggingDecoratorConfig, DecoratorMetricEntry, MetricsDecoratorConfig, EncryptionAlgorithm, EncryptionDecoratorConfig, AppliedEncryption, } from './decorator';
export type { CompositeGroupType, AddChildOptions, CompositeOperationResult, IResourceComposite, ILazyChildrenProvider, ResourceCompositeOptions, IResourceVisitorExtended, } from '../../lib/runtime-web/types/declarative-api';
export { COMPOSITE_GROUP_TYPES, isValidCompositeGroupType, isExtendedVisitor, } from '../../lib/runtime-web/types/declarative-api';
export { DuplicateChildError, isDuplicateChildError, ChildrenNotLoadedError, isChildrenNotLoadedError, ResourceComposite, createLazyCompositeProxy, createResourceComposite, createCompositeMetadata, } from './composite';
export type { CommandStatus, CommandAuditEntry, IResourceCommand, IMacroCommand, ICommandExecutor, CommandOptions, CommandExecutionResult, BatchExecutionResult, } from '../../lib/runtime-web/types/declarative-api';
export { COMMAND_STATUSES, isValidCommandStatus } from '../../lib/runtime-web/types/declarative-api';
export { BaseResourceCommand, CommandExecutionError, CommandUndoError, isCommandExecutionError, isCommandUndoError, MacroCommand, MacroCommandError, isMacroCommandError, CommandExecutor, CyclicDependencyError, MissingDependencyError, isCyclicDependencyError, isMissingDependencyError, } from './command';
export type { ResourceFamily, FactoryOptions, FactoryCreationResult, IResourceFactory, IResourceBuilder, InjectionConfig, BuilderValidationResult, BuilderValidationError, IResourceFactoryRegistry, DynamoDbFactoryOptions, IDynamoDbResourceFactory, MessagingFactoryOptions, IMessagingResourceFactory, AuthFactoryOptions, IAuthResourceFactory, StorageFactoryOptions, IStorageResourceFactory, EventsFactoryOptions, IEventsResourceFactory, } from '../../lib/runtime-web/types/declarative-api';
export { RESOURCE_FAMILIES, isValidResourceFamily } from '../../lib/runtime-web/types/declarative-api';
export { BaseResourceFactory, BaseResourceBuilder, DynamoDbTableEntity, DynamoDbTableBuilder, DynamoDbResourceFactory, SqsQueueEntity, SnsTopicEntity, SqsQueueBuilder, SnsTopicBuilder, MessagingResourceFactory, CognitoUserPoolEntity, CognitoUserPoolClientEntity, CognitoUserPoolBuilder, AuthResourceFactory, S3BucketEntity, S3BucketBuilder, StorageResourceFactory, EventBridgeEventBusEntity, EventBridgeRuleEntity, EventBridgeEventBusBuilder, EventsResourceFactory, DuplicateFactoryError, isDuplicateFactoryError, FactoryNotFoundError, isFactoryNotFoundError, ResourceFactoryRegistry, createDefaultFactoryRegistry, } from './factory';
export type { UnitOfWorkStatus, UnitOfWorkOperationType, UnitOfWorkOperation, UnitOfWorkCommitResult, UnitOfWorkRollbackResult, IUnitOfWork, InfrastructureContextOptions, ResourceCreationResult, IInfrastructureContext, InfrastructureContextFactory, } from '../../lib/runtime-web/types/declarative-api';
export { UNIT_OF_WORK_STATUSES, isValidUnitOfWorkStatus, } from '../../lib/runtime-web/types/declarative-api';
export { UnitOfWork, UnitOfWorkError, isUnitOfWorkError, InfrastructureContext, InfrastructureContextError, isInfrastructureContextError, ResourceAlreadyExistsError, isResourceAlreadyExistsError, createInfrastructureContext, } from './infrastructure-context';
export type { StageDefaults, ITableResourceEntity, IQueueResourceEntity, ITopicResourceEntity, IBucketResourceEntity, ICognitoResourceEntity, IEventBusResourceEntity, StandardTableOptions, StandardQueueOptions, StandardTopicOptions, StandardBucketOptions, StandardUserPoolOptions, StandardEventBusOptions, IResourceFacade, } from '../../lib/runtime-web/types/declarative-api';
export { STAGE_DEFAULTS, getStageDefaults, } from '../../lib/runtime-web/types/declarative-api';
export { ResourceFacade, createResourceFacade } from './facade';
export type { AdapterType, AdapterOptions, AdaptationResult, IResourceAdapter, IResourceAdapterRegistry, IResourceAdapterFactory, } from '../../lib/runtime-web/types/declarative-api';
export { ADAPTER_TYPES, isValidAdapterType, } from '../../lib/runtime-web/types/declarative-api';
export { BaseResourceAdapter, ResourceAdapterRegistry, DuplicateAdapterError, isDuplicateAdapterError, AdapterNotFoundError, isAdapterNotFoundError, TableAdapter, QueueAdapter, TopicAdapter, BucketAdapter, CognitoAdapter, EventBusAdapter, ResourceAdapterFactory, createDefaultAdapterRegistry, } from './adapter';
export type { DIScope, BindingId, DIBinding, DIBindingOverride, DIResolutionResult, InfrastructureDIBindings, InfrastructureBindingKey, IInfrastructureDIContainer, InfrastructureDIContainerOptions, InfrastructureDIContainerFactory, IDisposable, } from '../../lib/runtime-web/types/declarative-api';
export { DI_SCOPES, isValidDIScope, INFRASTRUCTURE_BINDING_KEYS, isDisposable, } from '../../lib/runtime-web/types/declarative-api';
export { InfrastructureDIContainer, DIResolutionError, isDIResolutionError, DIBindingError, isDIBindingError, createInfrastructureDIContainer, } from './di-container';
export type { RuntimeInfraIntegrationOptions, RuntimeWebIntegrationOptions, CrossStackReference, CrossStackResourceType, OutputOptions, OutputResult, ResourceNamingOptions, IStackIntegration, StackIntegrationFactory, } from '../../lib/runtime-web/types/declarative-api';
export { CROSS_STACK_RESOURCE_TYPES, isValidCrossStackResourceType, } from '../../lib/runtime-web/types/declarative-api';
export { StackIntegration, StackIntegrationError, isStackIntegrationError, createStackIntegration, ExtendedStackIntegration, createExtendedStackIntegration, } from './integration';
export { InfrastructureError, isInfrastructureError, hasErrorCode, hasErrorCategory, SpecificationValidationError, isSpecificationValidationError, RequiredFieldError, isRequiredFieldError, InvalidFieldValueError, isInvalidFieldValueError, ConfigurationError, isConfigurationError, InvalidResourceNameError, isInvalidResourceNameError, ResourceCreationError, isResourceCreationError, ResourceModificationError, isResourceModificationError, ResourceDeletionError, isResourceDeletionError, ResourceStateTransitionError, isResourceStateTransitionError, UnexpectedResourceStateError, isUnexpectedResourceStateError, ResourceOperationTimeoutError, isResourceOperationTimeoutError, CommandExecutionFailedError, isCommandExecutionFailedError, CommandUndoFailedError, isCommandUndoFailedError, CommandCyclicDependencyError, isCommandCyclicDependencyError, CommandMissingDependencyError, isCommandMissingDependencyError, CommandPreconditionError, isCommandPreconditionError, BatchCommandExecutionError, isBatchCommandExecutionError, DependencyResolutionError, isDependencyResolutionError, BindingNotFoundError, isBindingNotFoundError, DuplicateBindingError, isDuplicateBindingError, ScopeError, isScopeError, ContainerDisposedError, isContainerDisposedError, CircularDependencyError, isCircularDependencyError, LambdaNotFoundError, isLambdaNotFoundError, } from './errors';
export type { InfrastructureErrorCategory, InfrastructureErrorSeverity, InfrastructureErrorContext, } from './errors';
export { RetryStrategy, RollbackStrategy, CompositeRecoveryStrategy, createDefaultRecoveryStrategy, isRecoveryResultRecovered, isRecoveryResultRetry, isRecoveryResultRollback, isRecoveryResultFail, } from './errors';
export type { RecoveryResult, RecoveryResultRecovered, RecoveryResultRetry, RecoveryResultRollback, RecoveryResultFail, RecoveryContext, IErrorRecoveryStrategy, RetryStrategyOptions, RollbackStrategyOptions, } from './errors';
