import type { BundlerConfiguration } from './config'; export type SplitChunks = BundlerConfiguration extends { optimization?: { splitChunks?: infer P; }; } ? P : never; export type CacheGroups = BundlerConfiguration extends { optimization?: { splitChunks?: { cacheGroups?: infer P; } | false; }; } ? P : never; export type CacheGroup = CacheGroups extends { [key: string]: infer P; } ? P : null; export type ForceSplitting = RegExp[] | Record; export interface BaseSplitRules { strategy?: string; forceSplitting?: ForceSplitting; } export interface BaseChunkSplit extends BaseSplitRules { strategy?: 'split-by-experience' | 'single-vendor'; } export interface SplitBySize extends BaseSplitRules { strategy: 'split-by-size'; minSize?: number; maxSize?: number; } export interface SplitCustom extends BaseSplitRules { strategy: 'custom'; splitChunks?: SplitChunks; } export type ChunkSplit = BaseChunkSplit | SplitBySize | SplitCustom; //# sourceMappingURL=chunkSplit.d.ts.map