/**
 * Chat Highlights Service
 *
 * Extracts important messages from chat conversations by scanning for
 * keyword markers such as [DECISION], [QUESTION], [TL_REPORT], [BLOCKER],
 * and task completion phrases. Provides a quick summary view of key
 * conversation events.
 *
 * @module services/chat/chat-highlights.service
 */
/**
 * Type of highlight extracted from a chat message
 */
export type ChatHighlightType = 'decision' | 'question' | 'task_completion' | 'tl_report' | 'blocker';
/**
 * A highlighted chat message representing a key conversation event
 */
export interface ChatHighlight {
    /** Unique identifier for the highlight */
    id: string;
    /** ISO timestamp of the original message */
    timestamp: string;
    /** Category of the highlight */
    type: ChatHighlightType;
    /** Summary content extracted from the message */
    summary: string;
    /** Name of the message author */
    author: string;
    /** ID of the conversation thread */
    threadId: string;
}
/**
 * Options for retrieving highlights
 */
export interface GetHighlightsOptions {
    /** ISO timestamp to filter highlights after this time */
    since?: string;
    /** Maximum number of highlights to return (default: 20) */
    limit?: number;
}
/**
 * Service for extracting important highlights from chat conversations.
 *
 * Scans all active conversations for messages containing specific keyword
 * markers and returns them as a sorted list of highlights, enabling users
 * to quickly review key decisions, questions, blockers, and completions.
 *
 * @example
 * ```typescript
 * const service = getChatHighlightsService();
 * const highlights = await service.getHighlights({ limit: 10 });
 * console.log(highlights); // [{ id, timestamp, type, summary, author, threadId }]
 * ```
 */
export declare class ChatHighlightsService {
    private readonly logger;
    /**
     * Create a new ChatHighlightsService instance
     */
    constructor();
    /**
     * Retrieve highlights from all chat conversations.
     *
     * Iterates over all active conversations, fetches messages (optionally
     * filtered by a `since` timestamp), and identifies messages containing
     * highlight keywords. Results are sorted by timestamp descending (most
     * recent first) and limited to the specified count.
     *
     * @param options - Filtering and pagination options
     * @returns Array of chat highlights sorted by timestamp descending
     *
     * @example
     * ```typescript
     * const highlights = await service.getHighlights({
     *   since: '2026-03-25T00:00:00.000Z',
     *   limit: 5,
     * });
     * ```
     */
    getHighlights(options?: GetHighlightsOptions): Promise<ChatHighlight[]>;
    /**
     * Detect the highlight type from message content by matching against
     * known keyword patterns.
     *
     * @param content - Message content to scan
     * @returns The matched highlight type, or null if no pattern matches
     */
    private detectHighlightType;
}
/**
 * Get the singleton ChatHighlightsService instance
 *
 * @returns The ChatHighlightsService instance
 */
export declare function getChatHighlightsService(): ChatHighlightsService;
/**
 * Reset the singleton instance (for testing)
 */
export declare function resetChatHighlightsService(): void;
//# sourceMappingURL=chat-highlights.service.d.ts.map