export type ManifestVersion = 1; export type InstallKind = 'file' | 'dir'; export interface InstallEntry { id?: string; source: string; target: string; kind?: InstallKind; atomic?: boolean; } /** * Users can add any extra fields. */ export interface Manifest { version: ManifestVersion; installs: InstallEntry[]; [k: string]: any; } export interface ResolvedInstallEntry extends InstallEntry { sourceAbs: string; targetAbs: string; manifestKey: string; atomic: boolean; } export declare function getManifestBaseDir(manifestPath: string): string; export declare function resolveMaybeRelative(baseDir: string, p: string): string; export declare function getEntryKey(entry: InstallEntry): string; export declare function resolveEntry(baseDir: string, entry: InstallEntry): ResolvedInstallEntry; export declare function normalizeManifest(raw: unknown): Manifest; export declare function loadManifest(manifestPath: string): Promise;