interface SessionData {
    session_id: string;
    project: string;
    status: string;
    type: string;
    workflow_type: string | null;
    created_at: string | null;
    archived_at: string | null;
    path: string;
    tasks: TaskData[];
    taskCount: number;
    hasReview: boolean;
    reviewSummary: ReviewSummary | null;
    reviewDimensions: DimensionData[];
}
interface TaskData {
    task_id: string;
    title: string;
    status: string;
    type: string;
    meta?: Record<string, unknown>;
    context?: Record<string, unknown>;
    flow_control?: Record<string, unknown>;
}
interface ReviewSummary {
    phase: string;
    severityDistribution: Record<string, number>;
    criticalFiles: string[];
    status: string;
}
interface DimensionData {
    name: string;
    findings: Finding[];
    summary: unknown | null;
    status: string;
}
interface Finding {
    severity?: string;
    [key: string]: unknown;
}
interface SessionInput {
    session_id?: string;
    id?: string;
    project?: string;
    description?: string;
    status?: string;
    type?: string;
    workflow_type?: string | null;
    created_at?: string | null;
    created?: string;
    updated?: string;
    archived_at?: string | null;
    path: string;
}
interface ScanSessionsResult {
    active: SessionInput[];
    archived: SessionInput[];
    hasReviewData: boolean;
}
interface DashboardData {
    generatedAt: string;
    activeSessions: SessionData[];
    archivedSessions: SessionData[];
    liteTasks: {
        litePlan: unknown[];
        liteFix: unknown[];
        multiCliPlan: unknown[];
    };
    reviewData: ReviewData | null;
    projectOverview: ProjectOverview | null;
    statistics: {
        totalSessions: number;
        activeSessions: number;
        totalTasks: number;
        completedTasks: number;
        reviewFindings: number;
        litePlanCount: number;
        liteFixCount: number;
        multiCliPlanCount: number;
    };
}
interface ReviewData {
    totalFindings: number;
    severityDistribution: {
        critical: number;
        high: number;
        medium: number;
        low: number;
    };
    dimensionSummary: Record<string, {
        count: number;
        sessions: string[];
    }>;
    sessions: SessionReviewData[];
}
interface SessionReviewData {
    session_id: string;
    progress: unknown | null;
    dimensions: DimensionData[];
    findings: Array<Finding & {
        dimension: string;
    }>;
}
interface ProjectGuidelines {
    conventions: {
        coding_style: string[];
        naming_patterns: string[];
        file_structure: string[];
        documentation: string[];
    };
    constraints: {
        architecture: string[];
        tech_stack: string[];
        performance: string[];
        security: string[];
    };
    quality_rules: Array<{
        rule: string;
        scope: string;
        enforced_by?: string;
    }>;
    learnings: Array<{
        date: string;
        session_id?: string;
        insight: string;
        context?: string;
        category?: string;
    }>;
    _metadata?: {
        created_at: string;
        updated_at?: string;
        version: string;
    };
}
interface Language {
    name: string;
    file_count: number;
    primary: boolean;
}
interface KeyComponent {
    name: string;
    path: string;
    description: string;
    importance: 'high' | 'medium' | 'low';
}
interface ProjectOverview {
    projectName: string;
    description: string;
    initializedAt: string | null;
    technologyStack: {
        languages: Language[];
        frameworks: string[];
        build_tools: string[];
        test_frameworks: string[];
    };
    architecture: {
        style: string;
        layers: string[];
        patterns: string[];
    };
    keyComponents: KeyComponent[];
    features: unknown[];
    developmentIndex: {
        feature: unknown[];
        enhancement: unknown[];
        bugfix: unknown[];
        refactor: unknown[];
        docs: unknown[];
    };
    statistics: {
        total_features: number;
        total_sessions: number;
        last_updated: string | null;
    };
    metadata: {
        initialized_by: string;
        analysis_timestamp: string | null;
        analysis_mode: string;
    };
    guidelines: ProjectGuidelines | null;
}
/**
 * Aggregate all data for dashboard rendering (with caching)
 * @param sessions - Scanned sessions from session-scanner
 * @param workflowDir - Path to .workflow directory
 * @returns Aggregated dashboard data
 */
export declare function aggregateData(sessions: ScanSessionsResult, workflowDir: string): Promise<DashboardData>;
export {};
//# sourceMappingURL=data-aggregator.d.ts.map