// Copyright (c) 2014, 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.

/// A documentation generator for Dart.
@Deprecated('Will be removed in a later version of DartDoc.')
library;

export 'package:dartdoc/src/dartdoc.dart';
export 'package:dartdoc/src/dartdoc_options.dart';
export 'package:dartdoc/src/generator/generator.dart';
export 'package:dartdoc/src/model/kind.dart';
export 'package:dartdoc/src/model/package_builder.dart';
export 'package:dartdoc/src/model/package_graph.dart';
export 'package:dartdoc/src/package_config_provider.dart';
export 'package:dartdoc/src/package_meta.dart';
