export interface Workspace {
    id: string;
    sourcePath: string;
    branchName?: string;
    artifactsPath: string;
    projectPath: string;
    type: 'worktree' | 'ephemeral';
}
export interface DiffResult {
    modified: string[];
    added: string[];
    deleted: string[];
}
interface WorkspaceManagerOptions {
    exclude: string[];
}
export declare class WorkspaceManager {
    private workspaces;
    private exclude;
    constructor(options: WorkspaceManagerOptions);
    create(projectPath: string, workflowName: string): Promise<Workspace>;
    private createWorktree;
    private createEphemeral;
    adopt(id: string, sourcePath: string, artifactsPath: string, projectPath: string, type: 'worktree' | 'ephemeral', branchName?: string): void;
    diff(workspaceId: string): Promise<DiffResult>;
    private diffWorktree;
    private diffEphemeral;
    private parseDiffOutput;
    applyChanges(workspaceId: string): Promise<DiffResult>;
    private applyWorktreeChanges;
    private applyEphemeralChanges;
    destroy(workspaceId: string): Promise<void>;
    pruneOrphans(projectPath: string, storageDir: string): Promise<string[]>;
    private getWorkspace;
    private walkDir;
}
export {};
//# sourceMappingURL=workspace-manager.d.ts.map