/**
 * Project CRUD handlers extracted from StdioServer.
 * Handles: project.create, project.list, project.delete, project.rename,
 *          project.archive, project.unarchive, project.archiveByGroup
 */
import { type AgentRpcError, type AgentRpcRequest } from "../../protocol/wire/index.js";
import type { ProjectMemoryStore, ProjectMemoryStoreFactory } from "../../runtime/ports/index.js";
export interface ProjectHandlerHost {
    memdir: ProjectMemoryStore | null;
    projectMemoryStoreFactory: ProjectMemoryStoreFactory;
    mediaPersistence: {
        setProjectDir(projectDir: string): void;
        releaseProjectDir?(projectDir: string): void;
    };
    getActiveProjectRoot(): string;
    setActiveWorkdir(dir: string): void;
    sendNotification(method: string, params: Record<string, unknown>): void;
    sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
}
export declare function handleProjectCreate(this: ProjectHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleProjectList(this: ProjectHandlerHost, msg: AgentRpcRequest): void;
export declare function handleProjectDelete(this: ProjectHandlerHost, msg: AgentRpcRequest): void;
export declare function handleProjectPurgeAll(this: ProjectHandlerHost, msg: AgentRpcRequest): void;
export declare function handleProjectRename(this: ProjectHandlerHost, msg: AgentRpcRequest): void;
export declare function handleProjectArchive(this: ProjectHandlerHost, msg: AgentRpcRequest): void;
export declare function handleProjectUnarchive(this: ProjectHandlerHost, msg: AgentRpcRequest): void;
export declare function handleProjectArchiveByGroup(this: ProjectHandlerHost, msg: AgentRpcRequest): void;
export declare function handleProjectUpdate(this: ProjectHandlerHost, msg: AgentRpcRequest): void;
