// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

/// A collection of utilities simplifying module interactions
export 'src/module/embedded_module.dart';
export 'src/module/intent.dart';
export 'src/module/intent_handler.dart';
export 'src/module/module.dart';
export 'src/module/module_state_exception.dart';
export 'src/module/noop_intent_handler.dart';
export 'src/module/ongoing_activity.dart';
export 'src/module/streaming_intent_handler.dart';
