/**
 * Activity Logger for Dashboard Real-Time Tracking
 *
 * Provides event logging for all consensus pipeline activities,
 * enabling real-time dashboards and analytics.
 */
export type EventType = 'query_start' | 'query_complete' | 'query_error' | 'model_switch' | 'fallback' | 'rate_limit' | 'stage_start' | 'stage_complete' | 'stage_error' | 'export' | 'budget_alert';
export type Stage = 'generator' | 'refiner' | 'validator' | 'curator';
export interface ActivityLogEntry {
    eventType: EventType;
    conversationId?: string;
    userId?: string;
    stage?: Stage;
    modelUsed?: string;
    providerName?: string;
    cost?: number;
    durationMs?: number;
    tokensUsed?: number;
    errorMessage?: string;
    metadata?: Record<string, any>;
}
/**
 * Log an activity event to the database
 */
export declare function logActivity(entry: ActivityLogEntry): Promise<void>;
/**
 * Get recent activity for dashboard display
 */
export declare function getRecentActivity(limit?: number): Promise<any[]>;
/**
 * Get count of active queries (started but not completed)
 */
export declare function getActiveQueryCount(): Promise<number>;
/**
 * Get throughput (queries completed per hour)
 */
export declare function getThroughput(hours?: number): Promise<number>;
/**
 * Get model performance stats for leaderboard
 */
export declare function getModelPerformanceStats(hours?: number): Promise<any[]>;
/**
 * Log query start event
 */
export declare function logQueryStart(conversationId: string, userId?: string, metadata?: Record<string, any>): Promise<void>;
/**
 * Log query completion event
 */
export declare function logQueryComplete(conversationId: string, totalCost: number, durationMs: number, tokensUsed: number, userId?: string, metadata?: Record<string, any>): Promise<void>;
/**
 * Log stage event
 */
export declare function logStageEvent(eventType: 'stage_start' | 'stage_complete' | 'stage_error', conversationId: string, stage: Stage, model: string, provider: string, userId?: string, options?: {
    cost?: number;
    durationMs?: number;
    tokensUsed?: number;
    errorMessage?: string;
    metadata?: Record<string, any>;
}): Promise<void>;
/**
 * Clean up old activity logs (retention policy)
 */
export declare function cleanupOldActivities(daysToKeep?: number): Promise<void>;
//# sourceMappingURL=activity-logger.d.ts.map