import type { ProjectStatus, ProjectWithPermission } from "../types";
export type SubprojectTaskCounts = {
    total: number;
    todo: number;
    waiting: number;
    inProgress: number;
    review: number;
    done: number;
};
export declare function TaskStateProgressBar(props: {
    counts: SubprojectTaskCounts;
    compact?: boolean;
}): import("react/jsx-runtime").JSX.Element;
export declare function CostProgressRing(props: {
    used: number;
    limit: number;
    size?: number;
    strokeWidth?: number;
}): import("react/jsx-runtime").JSX.Element;
export declare function TaskStateProgressRing(props: {
    counts: SubprojectTaskCounts;
    size?: number;
    strokeWidth?: number;
}): import("react/jsx-runtime").JSX.Element;
export declare function ProjectDashboard(props: {
    projectId: string;
    selectedProjectTitle: string;
    selectedProjectDescription?: string;
    selectedProjectStatus?: ProjectStatus;
    selectedProjectCostUsed?: number;
    selectedProjectCostLimit?: number | null;
    selectedProjectSourceTemplateId?: string | null;
    selectedProjectSourceTemplateName?: string | null;
    canOpenSourceTemplate?: boolean;
    onOpenSourceTemplate?: (templateId: string) => void;
    canEditProjectStatus?: boolean;
    savingProjectStatus?: boolean;
    onStatusChange?: (status: ProjectStatus) => void | Promise<void>;
    selectedProjectTaskCounts: SubprojectTaskCounts;
    subprojects: ProjectWithPermission[];
    taskCountsByProjectId: Record<string, SubprojectTaskCounts>;
    loading: boolean;
    parentProjectId?: string | null;
    parentProjectTitle?: string | null;
    onSelectProject?: (projectId: string) => void;
    canEditProperties?: boolean;
}): import("react/jsx-runtime").JSX.Element;
