import EmberProject from "./ember-project"; import Module from "./module"; import Stats from "./stats-csv"; import { BaseSize } from "./types"; /** * Size information pertaining to a bundle * @beta */ export interface BundleSizes extends BaseSize { } /** * Asset size stats relating to a specific client-side JS bundle * * @beta */ declare class Bundle { /** * The project that this bundle belongs to */ readonly project: EmberProject; /** * This bundle's raw name */ private readonly bundleName; private stats; private bundleFiles; private _sizes?; /** * Create a new bundle * * @param project - ember-cli project * @param bundleName - bundle filename */ constructor( /** * The project that this bundle belongs to */ project: EmberProject, /** * This bundle's raw name */ bundleName: string); /** * Size information pertaining to this bundle */ get sizes(): BundleSizes; /** * The name of this bundle */ get name(): string; private get spinner(); /** * The contents of the entire bundle */ get contents(): string; /** * Determine the sizes of all of the files within the bundle, * such that the summation of the bundle's contents add up to the total * size of the bundle. */ calculateSizes(): Promise; /** * Explicitly add a file to this bundle * * @param file - file to add to the bundle * * @beta */ addFile(file: Module): void; /** * Prepare a stats report with asset size data pertaining to this module * @param data - stats report * * @beta */ prepareStats(data: Stats): Promise; } export default Bundle;