import type { Snippet } from 'svelte'; import type { BreadcrumbItem } from '../../molecules/Breadcrumb/Breadcrumb.svelte'; import type { GoalProgressTone } from '../../molecules/GoalProgress/GoalProgress.svelte'; import type { TaskPriority } from '../../molecules/TaskRow/TaskRow.svelte'; import type { PresenceUser } from '../../molecules/PresenceList/PresenceList.svelte'; import type { TimelineItem } from '../../molecules/Timeline/Timeline.svelte'; import type { ActivityItem } from '../ActivityFeed/ActivityFeed.svelte'; import type { StatStripItem } from '../../molecules/StatStrip/StatStrip.svelte'; export type ProjectStatus = 'on-track' | 'at-risk' | 'blocked' | 'completed' | 'draft'; export interface ProjectTaskSummary { title: string; total: number; done: number; overdue?: number; } export interface ProjectGoal { id?: string; label: string; current: number; target: number; unit?: string; tone?: GoalProgressTone; } export interface ProjectTask { id: string; title: string; completed?: boolean; priority?: TaskPriority; due?: string; assignee?: string; } export interface ProjectLink { id: string; label: string; href?: string; description?: string; } export interface ProjectMilestone extends TimelineItem { } interface ProjectOverviewPageProps { title: string; description?: string; status?: ProjectStatus | string; statusLabel?: string; breadcrumbs?: BreadcrumbItem[]; tags?: string[]; /** Overall completion 0–100 */ progress?: number; dueDate?: string; stats?: StatStripItem[]; summary?: ProjectTaskSummary[]; goals?: ProjectGoal[]; tasks?: ProjectTask[]; milestones?: ProjectMilestone[]; activity?: ActivityItem[]; members?: PresenceUser[]; links?: ProjectLink[]; tab?: 'overview' | 'tasks' | 'activity'; showTabs?: boolean; loading?: boolean; emptyTasksTitle?: string; emptyTasksDescription?: string; class?: string; actions?: Snippet; sidebar?: Snippet; ontoggleTask?: (id: string, completed: boolean) => void; onclickTask?: (id: string) => void; onclickLink?: (id: string) => void; onviewAllTasks?: () => void; ontabchange?: (tab: 'overview' | 'tasks' | 'activity') => void; onaddTask?: () => void; } declare const ProjectOverviewPage: import("svelte").Component; type ProjectOverviewPage = ReturnType; export default ProjectOverviewPage;