import type { ProjectInfo } from "../protocol/methods.js";
import type { ProjectMemoryStore, ProjectMemoryStoreFactory } from "../runtime/ports/index.js";
export interface ProjectCommandHost {
    memdir: ProjectMemoryStore | null;
    projectMemoryStoreFactory: ProjectMemoryStoreFactory;
    mediaPersistence: {
        setProjectDir(projectDir: string): void;
    };
    setActiveWorkdir(dir: string): void;
}
export interface ProjectCreateCommand {
    name: string;
    workspaceDir?: string;
    type?: string;
    groupId?: string;
}
export interface ProjectCreateResult {
    project: ProjectInfo;
    nameDuplicate?: ProjectInfo;
    isAgentTeamProject: boolean;
    /** True when creation switched the active project (container types never switch). */
    autoSwitched: boolean;
    deduplicated?: boolean;
}
type ProjectPlanStatus = NonNullable<ProjectInfo["planStatus"]>;
export declare function isProjectPlanStatus(value: unknown): value is ProjectPlanStatus;
export declare function createProject(host: ProjectCommandHost, command: ProjectCreateCommand): Promise<ProjectCreateResult>;
export {};
