import type { WorktreeOptions, WorktreeResult } from './types.js'; export type { WorktreeOptions, WorktreeResult }; /** Optional roots used when cleaning a clone owned by a central execution state. */ export interface CloneCleanupOptions { readonly worktreeBaseDirectory?: string; readonly metadataDirectory?: string; } export type CloneCleanupArgument = string | CloneCleanupOptions; export { branchExists, createBaseBranchIfMissing, localBranchExists, remoteBranchExists, type CreateBaseBranchIfMissingConfig, } from './clone-base-branch.js'; export declare class CloneManager { private static generateTimestamp; static resolveCloneBaseDir(projectDir: string): string; private static isParentWritable; private static resolveClonePath; private static resolveBranchName; static resolveBaseBranch(projectDir: string, explicitBaseBranch?: string): { branch: string; fetchedCommit?: string; }; static resolveBaseBranchName(projectDir: string, explicitBaseBranch?: string): string; createSharedClone(projectDir: string, options: WorktreeOptions): WorktreeResult; createSharedCloneAbortable(projectDir: string, options: WorktreeOptions, abortSignal?: AbortSignal): Promise; createTempCloneForBranch(projectDir: string, branch: string): WorktreeResult; removeClone(clonePath: string): void; saveCloneMeta(projectDir: string, branch: string, clonePath: string, metadataDirectory?: string): void; removeCloneMeta(projectDir: string, branch: string, metadataDirectory?: string): void; cleanupOrphanedClone(projectDir: string, branch: string, worktreeBaseDirectoryOrOptions?: CloneCleanupArgument, metadataDirectory?: string): void; } export declare function createSharedClone(projectDir: string, options: WorktreeOptions): WorktreeResult; export declare function createSharedCloneAbortable(projectDir: string, options: WorktreeOptions, abortSignal?: AbortSignal): Promise; export declare function createTempCloneForBranch(projectDir: string, branch: string): WorktreeResult; export declare function removeClone(clonePath: string): void; export declare function saveCloneMeta(projectDir: string, branch: string, clonePath: string, metadataDirectory?: string): void; export declare function removeCloneMeta(projectDir: string, branch: string, metadataDirectory?: string): void; export declare function cleanupOrphanedClone(projectDir: string, branch: string, worktreeBaseDirectoryOrOptions?: CloneCleanupArgument, metadataDirectory?: string): void; export declare function resolveBaseBranch(projectDir: string, explicitBaseBranch?: string): { branch: string; fetchedCommit?: string; }; export declare function resolveBaseBranchName(projectDir: string, explicitBaseBranch?: string): string; export declare function resolveCloneBaseDir(projectDir: string): string; //# sourceMappingURL=clone.d.ts.map