import type { Span } from '../../../trace'; import type { NodeFileTraceReasons } from 'next/dist/compiled/@vercel/nft'; import { webpack } from 'next/dist/compiled/webpack/webpack'; import type { NextConfigComplete } from '../../../server/config-shared'; export declare const TRACE_IGNORES: string[]; export declare function getFilesMapFromReasons(fileList: Set, reasons: NodeFileTraceReasons, ignoreFn?: (file: string, parent?: string) => Boolean): Map>; export interface TurbotraceAction { action: 'print' | 'annotate'; input: string[]; contextDirectory: string; processCwd: string; logLevel?: NonNullable['logLevel']; showAll?: boolean; memoryLimit?: number; } export interface BuildTraceContext { entriesTrace?: { action: TurbotraceAction; appDir: string; outputPath: string; depModArray: string[]; entryNameMap: Record; }; chunksTrace?: { action: TurbotraceAction; outputPath: string; entryNameFilesMap: Record>; }; } export declare class TraceEntryPointsPlugin implements webpack.WebpackPluginInstance { buildTraceContext: BuildTraceContext; private rootDir; private appDir; private pagesDir; private appDirEnabled?; private tracingRoot; private entryTraces; private traceIgnores; private esmExternals?; private turbotrace?; constructor({ rootDir, appDir, pagesDir, appDirEnabled, traceIgnores, esmExternals, outputFileTracingRoot, turbotrace, }: { rootDir: string; appDir: string | undefined; pagesDir: string | undefined; appDirEnabled?: boolean; traceIgnores?: string[]; outputFileTracingRoot?: string; esmExternals?: NextConfigComplete['experimental']['esmExternals']; turbotrace?: NextConfigComplete['experimental']['turbotrace']; }); createTraceAssets(compilation: any, assets: any, span: Span): Promise; tapfinishModules(compilation: webpack.Compilation, traceEntrypointsPluginSpan: Span, doResolve: (request: string, parent: string, job: import('@vercel/nft/out/node-file-trace').Job, isEsmRequested: boolean) => Promise, readlink: any, stat: any): void; apply(compiler: webpack.Compiler): void; }