import { type ZephyrEngine } from 'zephyr-agent';
interface EmitManifestOptions {
    pluginName: string;
    zephyr_engine: ZephyrEngine;
}
interface EmitManifestCompiler {
    webpack: {
        sources: {
            RawSource: new (source: string | Buffer) => any;
        };
        Compilation: {
            PROCESS_ASSETS_STAGE_ADDITIONAL: number;
        };
    };
    hooks: {
        thisCompilation: {
            tap: (pluginName: string, cb: (compilation: EmitManifestCompilation) => void) => void;
        };
    };
}
interface EmitManifestCompilation {
    getAsset?: (filename: string) => unknown;
    hooks: {
        processAssets: {
            tapPromise: (options: {
                name: string;
                stage: number;
            }, cb: (assets: Record<string, any>) => Promise<void>) => void;
        };
    };
    emitAsset: (filename: string, source: any) => void;
}
/**
 * Emits the zephyr-manifest.json file during the build process This ensures the manifest
 * is available for local development and production Includes both federated dependencies
 * and environment variables
 */
export declare function setupManifestEmission<T extends EmitManifestOptions, XCompiler extends EmitManifestCompiler>(pluginOptions: T, compiler: XCompiler): void;
export {};
//# sourceMappingURL=ze-emit-manifest.d.mts.map