import type { CreateProjectInput, Project, ProjectHealth, ProjectListQuery, ProjectListResult, ProjectMilestone, ProjectUpdate, SidebarProjectListQuery, ProjectWithDetails, UpdateProjectInput } from './types.js'; export type ProjectRow = { project_id: string; name: string; slug: string; description: string | null; status: string; default_agent_id: string | null; workspace_root: string | null; brief: string | null; instructions: string | null; outcome: string | null; success_criteria_json: string; scope_json: string; non_goals_json: string; health: string; owner_id: string | null; target_at: number | null; version: number; created_at: number; updated_at: number; last_active_at: number | null; pinned_at: number | null; }; export declare function slugifyProjectName(name: string): string; export declare class ProjectStore { listMilestones(projectId: string): ProjectMilestone[]; createMilestone(projectId: string, input: { title: string; description?: string; status?: ProjectMilestone['status']; targetAt?: number; sortOrder?: number; }): ProjectMilestone; updateMilestone(projectId: string, milestoneId: string, input: Partial<{ title: string; description: string | null; status: ProjectMilestone['status']; targetAt: number | null; sortOrder: number; }>): ProjectMilestone; deleteMilestone(projectId: string, milestoneId: string): boolean; listUpdates(projectId: string, limit?: number): ProjectUpdate[]; createUpdate(projectId: string, input: { health: ProjectHealth; summary: string; progress?: string[]; risks?: string[]; nextSteps?: string[]; actor: Record; }): ProjectUpdate; create(input: CreateProjectInput): Project; get(id: string): Project | null; findBySlug(slug: string): Project | null; list(query?: ProjectListQuery): ProjectListResult; listWithSidebarSessions(query?: SidebarProjectListQuery): ProjectListResult; update(id: string, input: UpdateProjectInput): Project; delete(id: string): void; getSessionCount(id: string): number; getTaskCount(id: string): number; getActiveTaskCount(id: string): number; getRecentSessions(id: string, limit?: number): ProjectWithDetails['recentSessions']; getRecentWorkflowRuns(id: string, limit?: number): ProjectWithDetails['recentWorkflowRuns']; getWithDetails(id: string): ProjectWithDetails | null; generateSlug(name: string): string; }