import type { sources as WebpackSources } from 'webpack';
import type { AssetEmissionPlan } from '../../../../compiler/index.js';
export type WebpackSourceLike = string | WebpackSources.Source;
export interface WebpackAssetCompilationLike {
    deleteAsset?: ((file: string) => void) | undefined;
    emitAsset?: ((file: string, source: WebpackSources.Source) => void) | undefined;
    getAsset: (file: string) => {
        source: {
            source: () => unknown;
        };
    } | undefined;
    updateAsset: (file: string, source: WebpackSources.Source) => void;
}
export declare function applyWebpackAssetEmissionPlan(plan: AssetEmissionPlan<WebpackSourceLike>, options: {
    compilation: WebpackAssetCompilationLike;
    ConcatSource: new (source: string) => WebpackSources.Source;
    writeMode?: 'update' | 'upsert' | undefined;
}): void;
