import { OnModuleDestroy } from '@nestjs/common'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { SpacesService } from '../../spaces/services/spaces.service'; import { SuggestionFeedback } from '../../spaces/spaces.constants'; import { SuggestionType } from '../buddy.constants'; import { EvaluatorResult } from './heartbeat.types'; import { PatternDetectorService } from './pattern-detector.service'; export interface BuddySuggestion { id: string; type: SuggestionType; title: string; reason: string; spaceId: string; metadata: Record; createdAt: Date; expiresAt: Date; } export declare class SuggestionEngineService implements OnModuleDestroy { private readonly patternDetector; private readonly spacesService; private readonly eventEmitter; private readonly logger; private readonly suggestions; private readonly cooldowns; private cleanupTimer; private generating; constructor(patternDetector: PatternDetectorService, spacesService: SpacesService, eventEmitter: EventEmitter2); isOnCooldown(spaceId: string, type: SuggestionType, now?: number): boolean; clearAllCooldowns(): void; onModuleDestroy(): void; generateSuggestions(): Promise; private doGenerateSuggestions; getActiveSuggestions(spaceId?: string): BuddySuggestion[]; getSuggestionOrThrow(id: string): BuddySuggestion; recordFeedback(id: string, feedback: SuggestionFeedback): { success: boolean; suggestion: BuddySuggestion; }; createFromEvaluatorResults(results: EvaluatorResult[]): BuddySuggestion[]; private hasDuplicateSuggestion; private hasSuggestionForPattern; private cleanupExpired; private resolveSpaceName; }