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

import './AllocationProfile.js';
import './HeapSnapshot.js';
import './HeapSnapshotLoader.js';
import './HeapSnapshotWorkerDispatcher.js';
import './HeapSnapshotWorker.js';

import * as AllocationProfile from './AllocationProfile.js';
import * as HeapSnapshot from './HeapSnapshot.js';
import * as HeapSnapshotLoader from './HeapSnapshotLoader.js';
import * as HeapSnapshotWorkerDispatcher from './HeapSnapshotWorkerDispatcher.js';

export {
  AllocationProfile,
  HeapSnapshot,
  HeapSnapshotLoader,
  HeapSnapshotWorkerDispatcher,
};
