import type { SpecStatus } from './common.js';
/** State of the dashboard HTTP server (singleton in memory) */
export interface DashboardServerState {
    port: number;
    isRunning: boolean;
    startedAt: Date | null;
}
/** Summary of a project for dashboard display */
export interface DashboardProjectSummary {
    id: string;
    name: string;
    path: string;
    stack: string;
    lastActivity: string;
    specCount: number;
    doneCount: number;
    specs: DashboardSpecCard[];
}
/** Card data for a single spec in the dashboard */
export interface DashboardSpecCard {
    id: string;
    title: string;
    status: SpecStatus;
    criteriaTotal: number;
    criteriaImplemented: number;
    progressPercent: number;
}
/** Health metrics for a project displayed in the health panel */
export interface ProjectHealthMetrics {
    totalSpecs: number;
    donePercent: number;
    pendingApproval: number;
    activeImplementation: number;
    totalEstimation: number | null;
}
/** Usage stats panel data read from data/global/ (SPEC-064) */
export interface DashboardUsageStats {
    tier: string;
    callsToday: number;
    dailyLimit: number | null;
    trialDaysLeft: number | null;
    isAvailable: boolean;
}
/** Raw structure of project.json files read by data-loader */
export interface RawProjectJson {
    name?: string;
    path?: string;
    stack?: string;
    language?: string;
    framework?: string;
    updatedAt?: string;
    createdAt?: string;
}
/** Raw structure of spec.json files read by data-loader */
export interface RawSpecJson {
    id?: string;
    title?: string;
    status?: string;
    estimation?: {
        totalDays?: number;
        totalPoints?: number;
    };
}
/** Raw structure of usage.json file read by data-loader */
export interface RawUsageJson {
    tier?: string;
    callsToday?: number;
    dailyLimit?: number | null;
    trialDaysLeft?: number | null;
}
/** Input for start_dashboard MCP tool */
export interface StartDashboardInput {
    port?: number;
}
/** Input for stop_dashboard MCP tool */
export type StopDashboardInput = Record<string, never>;
//# sourceMappingURL=dashboard.d.ts.map