///
import { Readable } from 'stream';
import { BundleModule } from './stats';
import { Logger, PackageMeta, TreeShaking } from './stats-parser/types';
import { Size, AssetTypeEnum } from './types';
export declare function readJSONFile(path: string): T;
export declare function detectFileType(name: string): AssetTypeEnum;
export declare function calcStringCompressedSize(str: string): Promise;
export declare function calcGzippedSize(input: Readable): Promise;
export declare function calcBrorliedSize(input: Readable): Promise;
export declare function isInitialFileType(type: AssetTypeEnum): boolean;
export declare function isStringContentType(type: AssetTypeEnum): boolean;
export declare function addSize(size1: Size, size2: Size): Size;
export declare function getDefaultSize(): Size;
export declare function isNotNil(value: unknown): boolean;
export declare function mapRefs(items: T[]): number[];
export declare function getHtmlScripts(content: string): string[];
export declare function getConsoleLogger(): Logger;
/**
* Returns a hash code from a string
* @param {String} str The string to hash.
* @return {Number} A 32bit integer
*/
export declare function hashCode(str: string): number;
export declare function parseTreeshaking(module: BundleModule, meta: PackageMeta | null, packageSideEffects?: boolean | string[] | 'implicitly'): TreeShaking;
export declare function isDynamicModule(module: BundleModule): boolean;
export declare function isEsmModule(module: BundleModule): boolean;