import type { BundleLock, InstalledBundleManifest } from "../types.js"; /** * Provides install bundles for the lifecycle pipeline. */ export declare function installBundles(projectRoot: string, args: string[]): Promise; declare function mergeInstalledPackages(existingPackages: InstalledBundleManifest["packages"], newPackages: InstalledBundleManifest["packages"]): InstalledBundleManifest["packages"]; interface MirrorFileManifest { schemaVersion: 1; aggregateHash: string; files: Array<{ relativePath: string; sha256: string; sizeBytes: number; upstreamBlobSha?: string; }>; } declare function verifyMirrorFileManifest(sourceMaterialPath: string, expectedAggregateHash: string, assetId?: string): Promise; declare function assertMirrorFileManifest(value: unknown, context: string): asserts value is MirrorFileManifest; declare function serializeMirrorManifestFileHashInput(file: MirrorFileManifest["files"][number]): string; declare function assertNoUnexpectedMirrorFiles(sourceMaterialPath: string, manifest: MirrorFileManifest): Promise; declare function debugInstallBundleSkip(message: string): void; declare function buildInstallIdentity(packageIdentity: { assetId: string; mirrorId: string; }): string; /** * Returns every bundle id declared by the registered host adapters. */ export declare function getRegisteredBundleIds(): string[]; declare function getAllowedAssetIds(args: readonly string[]): ReadonlySet | null; declare function getPendingAssets(bundleAssets: BundleLock["assets"], installedAssetIdentities: Set): BundleLock["assets"]; declare function extractBundleId(bundlePath: string): string; /** * Extracts a human-readable error message from any thrown value. * Exported for testing of both Error and non-Error paths. */ declare function toInstallErrorMessage(error: unknown): string; /** Exposes narrow install bundle internals for focused manifest and batching tests. */ export declare const installBundleInternals: { mergeInstalledPackages: typeof mergeInstalledPackages; verifyMirrorFileManifest: typeof verifyMirrorFileManifest; assertMirrorFileManifest: typeof assertMirrorFileManifest; serializeMirrorManifestFileHashInput: typeof serializeMirrorManifestFileHashInput; assertNoUnexpectedMirrorFiles: typeof assertNoUnexpectedMirrorFiles; debugInstallBundleSkip: typeof debugInstallBundleSkip; buildInstallIdentity: typeof buildInstallIdentity; getRegisteredBundleIds: typeof getRegisteredBundleIds; getAllowedAssetIds: typeof getAllowedAssetIds; getPendingAssets: typeof getPendingAssets; extractBundleId: typeof extractBundleId; toInstallErrorMessage: typeof toInstallErrorMessage; }; export {};