export interface WorkspaceSummary {
  id: string;
  name: string;
  description: string;
  noteCount: number;
  visibility: "private" | "shared";
  updatedAt: string;
  tags: string[];
}

export interface NoteTask {
  id: string;
  title: string;
  status: "todo" | "in_progress" | "done";
  source: "manual" | "agent";
}

export interface LinkedNote {
  id: string;
  title: string;
  relationship: string;
}

export interface ArtifactSummary {
  id: string;
  name: string;
  type: string;
  status: "ready" | "processing" | "deferred";
}

export interface NoteSummary {
  id: string;
  workspaceId: string;
  title: string;
  excerpt: string;
  status: "draft" | "active" | "archived";
  tags: string[];
  updatedAt: string;
  updatedBy: string;
}

export interface NoteDetail extends NoteSummary {
  body: string;
  metadata: {
    owner: string;
    source: string;
    reviewState: "none" | "proposed" | "approved" | "rejected";
    taskCount: number;
    artifactCount: number;
  };
  linkedNotes: LinkedNote[];
  tasks: NoteTask[];
  artifacts: ArtifactSummary[];
}

export interface ProductUser {
  email: string;
  name: string;
  role: string;
  workspaceId: string;
  [key: string]: unknown;
}
