/**
 * Live security dashboard aggregation (video Feature 2).
 */
import type { IDatabase } from '../database/database-interface.js';
import { buildChartMeta } from './chart-meta.js';
export type SecurityThreatRow = {
    id: string;
    /** Stable key for quarantine / restore (semantic audit id or block record fingerprint). */
    threatKey: string;
    type: string;
    source: string;
    severity: 'critical' | 'high' | 'medium' | 'low';
    status: 'blocked' | 'monitored' | 'resolved';
};
export type SecurityLayerStatus = {
    id: string;
    label: string;
    status: 'secure' | 'alert';
};
export type SecurityDashboardPayload = {
    available: boolean;
    windowDays: number;
    generatedAt: string;
    securityScore: number | null;
    scoreLabel: string;
    layers: SecurityLayerStatus[];
    executiveSummary: string[];
    threats: SecurityThreatRow[];
    activeThreatCount: number;
    semanticEngineActive: boolean;
    autoBlockOn: boolean;
    auditLatencyMs: number | null;
    rbacPolicy: string;
    meta: ReturnType<typeof buildChartMeta>;
    emptyReason?: string;
};
export declare function buildSecurityDashboard(db: IDatabase | null, tenantId: string | undefined, windowDaysInput: number | string, opts?: {
    policyMode?: string;
}): Promise<SecurityDashboardPayload>;
//# sourceMappingURL=security-dashboard.d.ts.map