export interface DirectoryIdentity { dev: number; ino: number; } export function captureDirectoryIdentity(path: string): Promise; export function publishStagedDirectory(options: { repositoryRoot: string; finalRoot: string; stagingRoot: string; expectedStagingIdentity: DirectoryIdentity; renameDirectory?: (from: string, to: string) => Promise; beforeCommit?: () => Promise; }): Promise;