// Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

// This library re-exports the parts of front_end's byte_store.dart whose API is
// stable enough to be relied upon by clients.

export 'package:front_end/src/byte_store/byte_store.dart'
    show ByteStore, MemoryByteStore, MemoryCachingByteStore;
