import type { Logger } from "pino";
import type { AgentManager } from "../agent/agent-manager.js";
import type { AgentStorage } from "../agent/agent-storage.js";
import type { DaemonConfigStore } from "../daemon-config-store.js";
import { archivePaseoWorktree, killTerminalsUnderPath } from "../paseo-worktree-archive-service.js";
import { isSameOrDescendantPath } from "../path-utils.js";
import type { WorkspaceGitRuntimeSnapshot, WorkspaceGitServiceImpl } from "../workspace-git-service.js";
import type { GitHubService } from "../../services/github-service.js";
import type { TerminalManager } from "../../terminal/terminal-manager.js";
import { isPaseoOwnedWorktreeCwd } from "../../utils/worktree.js";
export interface AutoArchiveArchiveOptions {
    paseoHome: string;
    worktreesRoot?: string;
    daemonConfigStore: DaemonConfigStore;
    workspaceGitService: WorkspaceGitServiceImpl;
    github: GitHubService;
    agentManager: AgentManager;
    agentStorage: AgentStorage;
    terminalManager: TerminalManager;
    archiveWorkspaceRecord: (workspaceId: string) => Promise<void>;
    markWorkspaceArchiving: (workspaceIds: Iterable<string>, archivingAt: string) => void;
    clearWorkspaceArchiving: (workspaceIds: Iterable<string>) => void;
    emitWorkspaceUpdatesForWorkspaceIds: (workspaceIds: Iterable<string>) => Promise<void>;
}
export interface ArchiveIfSafeDependencies {
    archivePaseoWorktree: typeof archivePaseoWorktree;
    isPaseoOwnedWorktreeCwd: typeof isPaseoOwnedWorktreeCwd;
    killTerminalsUnderPath: typeof killTerminalsUnderPath;
    isPathWithinRoot: typeof isSameOrDescendantPath;
}
export declare function archiveIfSafe(input: {
    cwd: string;
    pullRequest: WorkspaceGitRuntimeSnapshot["github"]["pullRequest"];
    inFlight: Set<string>;
    options: AutoArchiveArchiveOptions;
    log: Logger;
    deps?: ArchiveIfSafeDependencies;
}): Promise<void>;
//# sourceMappingURL=archive-if-safe.d.ts.map