import { BundleManifestFile } from '../manifest/bundleManifest'; export { ASSET_ONLY_PATCH_ALGORITHM, XDELTA_PATCH_ALGORITHM, } from '../patchAlgorithms'; import { type SupportedPatchAlgorithm } from '../patchAlgorithms'; export type { SupportedPatchAlgorithm } from '../patchAlgorithms'; type BaseFileIndex = Map; type FullFileOperation = { type: 'full-file'; sourcePath: string; outputPath: string; }; type XdeltaOperation = { type: 'xdelta'; basePath: string; patchPath: string; outputPath: string; }; type CopyUnchangedOperation = { type: 'copy-unchanged'; sourcePath: string; outputPath: string; }; export type PatchOperation = FullFileOperation | XdeltaOperation | CopyUnchangedOperation; export declare const isSupportedPatchAlgorithm: (algorithm: string | undefined | null) => algorithm is SupportedPatchAlgorithm; export declare const advertisedPatchAlgorithms: (supportsXdelta: boolean) => SupportedPatchAlgorithm[]; export declare const resolvePatchOperation: ({ baseDir, patchDir, targetDir, targetFile, baseFilesByPath, algorithm, }: { baseDir: string; patchDir: string; targetDir: string; targetFile: BundleManifestFile; baseFilesByPath: BaseFileIndex; algorithm: SupportedPatchAlgorithm; }) => Promise; export declare const applyPatchOperation: (operation: PatchOperation) => Promise;