case classAmqpChannelLifecycle(connection: Connection) extends VanillaLifecycle[Channel] with StrictLogging with Product with Serializable
case classAmqpClientLifecycle(config: AmqpClientConfig)(implicit executionContext: ExecutionContext) extends Lifecycle[AmqpClient[Lifecycle, Future, Throwable, Unit]] with StrictLogging with Product with Serializable
case classDeclarationLifecycle[F[_], E](declarations: Iterable[Declaration], client: AmqpClient[Lifecycle, F, E, Unit], timeout: FiniteDuration = 5.seconds) extends VanillaLifecycle[Unit] with Product with Serializable