import { AssetData, MetroConfig, MixedOutput, Module, ReadOnlyGraph } from 'metro'; import { ConfigT, SerializerConfigT } from 'metro-config'; import { ExpoSerializerOptions } from './fork/baseJSBundle'; import { SerialAsset } from './serializerAssets'; import { SerializerConfigOptions } from './withExpoSerializers'; type Serializer = NonNullable; type SerializerParameters = Parameters; export type SerializeChunkOptions = { includeSourceMaps: boolean; splitChunks: boolean; } & SerializerConfigOptions; export declare function graphToSerialAssetsAsync(config: MetroConfig, serializeChunkOptions: SerializeChunkOptions, ...props: SerializerParameters): Promise<{ artifacts: SerialAsset[] | null; assets: AssetData[]; }>; export declare class Chunk { name: string; entries: Module[]; graph: ReadOnlyGraph; options: ExpoSerializerOptions; isAsync: boolean; isVendor: boolean; deps: Set; preModules: Set; requiredChunks: Set; constructor(name: string, entries: Module[], graph: ReadOnlyGraph, options: ExpoSerializerOptions, isAsync?: boolean, isVendor?: boolean); private getPlatform; private getFilename; private getStableChunkSource; private getFilenameForConfig; private serializeToCodeWithTemplates; hasAbsolutePath(absolutePath: string): boolean; private getComputedPathsForAsyncDependencies; private getAdjustedSourceMapUrl; private serializeToCode; private boolishTransformOption; serializeToAssetsAsync(serializerConfig: Partial, chunks: Chunk[], { includeSourceMaps, unstable_beforeAssetSerializationPlugins }: SerializeChunkOptions): Promise; private supportsBytecode; isHermesEnabled(): boolean; } export declare function getSortedModules(modules: Module[], { createModuleId, }: { createModuleId: (path: string) => number; }): readonly Module[]; export {};