import { type UploadAgentPluginOptions } from '../xpack-extract/ze-xpack-upload-agent.js';
import type { Source } from 'zephyr-edge-contract';
import type { XStats } from '../xpack.types.js';
interface DeployPluginOptions extends UploadAgentPluginOptions {
    pluginName: string;
}
interface DeployCompiler {
    context?: string;
    webpack: {
        Compilation: {
            PROCESS_ASSETS_STAGE_REPORT: number;
        };
    };
    hooks: {
        thisCompilation: {
            tap: (pluginName: string, cb: (compilation: DeployCompilation) => void) => void;
        };
        afterEmit: {
            tapPromise: (pluginName: string, cb: (compilation: DeployCompilation) => Promise<void>) => void;
        };
        invalid?: {
            tap: (pluginName: string, cb: (filename?: string | null, changeTime?: number) => void) => void;
        };
        failed?: {
            tap: (pluginName: string, cb: (error: Error) => void) => void;
        };
    };
}
interface DeployCompilation {
    getStats: () => XStats;
    errors?: readonly unknown[];
    fileDependencies?: Iterable<string>;
    contextDependencies?: Iterable<string>;
    missingDependencies?: Iterable<string>;
    buildDependencies?: Iterable<string>;
    hooks: {
        processAssets: {
            tapPromise: (options: {
                name: string;
                stage: number;
            }, cb: (assets: Record<string, Source>) => Promise<void>) => void;
        };
    };
}
export declare function setupZeDeploy<T extends DeployPluginOptions, XCompiler extends DeployCompiler>(pluginOptions: T, compiler: XCompiler): void;
export {};
//# sourceMappingURL=ze-setup-ze-deploy.d.ts.map