/**
 * Dashboard Data Aggregation
 *
 * Gathers data from board, agents, sessions, and PRs into a unified interface
 * for the web dashboard.
 */
import type { PMOStorage } from '../pmo/types.js';
export interface DashboardColumn {
    id: string;
    name: string;
    position: number;
    tickets: DashboardTicket[];
}
export interface DashboardTicket {
    id: string;
    title: string;
    priority?: string;
    category?: string;
    assignee?: string;
    statusName?: string;
    labels: string[];
}
export interface DashboardAgent {
    name: string;
    exists: boolean;
    branch?: string;
    assignedTickets: string[];
    completedTickets: string[];
    hasActiveSessions: boolean;
}
export interface DashboardSession {
    sessionId: string;
    ticketId: string;
    agentName: string;
    status: string;
    environment: 'host' | 'container';
    source: 'db' | 'discovered';
}
export interface DashboardPR {
    number: number;
    url: string;
    title: string;
    headBranch: string;
    isDraft: boolean;
    ciStatus?: 'success' | 'failure' | 'pending' | 'unknown';
}
export interface DashboardData {
    projectId: string;
    projectName: string;
    timestamp: string;
    board: {
        columns: DashboardColumn[];
    };
    agents: DashboardAgent[];
    sessions: DashboardSession[];
    prs: DashboardPR[];
}
export declare function gatherBoardData(storage: PMOStorage, projectId: string): Promise<{
    columns: DashboardColumn[];
}>;
export declare function gatherAgentData(): DashboardAgent[];
export declare function gatherSessionData(): DashboardSession[];
export declare function gatherPRData(): DashboardPR[];
export declare function gatherDashboardData(storage: PMOStorage, projectId: string, projectName: string): Promise<DashboardData>;
