import { JarvisController } from '../jarvis-controller.js'; export interface EmailMessage { id: string; from: string; subject: string; snippet: string; date: string; unread: boolean; labels?: string[]; } export interface SlackMessage { user: string; text: string; timestamp: string; channel: string; } export interface CalendarEvent { id: string; summary: string; start: Date; end: Date; location?: string; attendees?: string[]; } export interface IntegrationSummary { emails: { unreadCount: number; importantCount: number; messages: EmailMessage[]; summary: string; }; slack: { unreadCount: number; mentions: number; messages: SlackMessage[]; summary: string; }; calendar?: { todayCount: number; upcomingEvents: CalendarEvent[]; summary: string; }; overall: string; } export declare class JarvisIntegrationHub { private jarvis; private claudeApiUrl?; constructor(jarvis: JarvisController); /** * Get a comprehensive daily briefing from all integrated services */ getDailyBriefing(): Promise; /** * Get and summarize unread emails */ getEmailSummary(limit?: number): Promise; /** * Get and summarize Slack messages */ getSlackSummary(channels?: string[]): Promise; /** * Get today's calendar events */ getCalendarSummary(): Promise; /** * Get news headlines */ getNewsSummary(): Promise; /** * Read and summarize specific emails */ readEmails(query?: string, speakResult?: boolean): Promise; /** * Read Slack messages from specific channels */ readSlackChannel(channel: string, limit?: number, speakResult?: boolean): Promise; /** * Monitor for important messages and alert */ startMonitoring(config: { emailKeywords?: string[]; slackKeywords?: string[]; checkInterval?: number; }): Promise; /** * Check for emails matching keywords */ private checkImportantEmails; /** * Check for Slack messages matching keywords */ private checkImportantSlack; /** * Get a smart summary of all activity */ getIntelligentSummary(timeframe?: 'today' | 'week' | 'month'): Promise; /** * Respond to messages using JARVIS */ composeResponse(context: { type: 'email' | 'slack'; originalMessage: string; tone?: 'formal' | 'casual' | 'brief'; }): Promise; } //# sourceMappingURL=integration-hub.d.ts.map