/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ import { type Todo } from '../tools/todo-schemas.js'; export interface TodoStateChange { previousTodos: Todo[]; currentTodos: Todo[]; added: Todo[]; removed: Todo[]; statusChanged: Todo[]; } export declare class TodoReminderService { private static readonly EMPTY_TODO_REMINDER; private static readonly TODO_CHANGED_PREFIX; private static readonly TODO_CHANGED_SUFFIX; /** * Generate reminder for empty todo list */ getReminderForEmptyTodos(isComplexTask?: boolean): string | null; /** * Generate reminder for todo state change */ getReminderForStateChange(stateChange: TodoStateChange): string; /** * Calculate state changes between old and new todos */ calculateStateChange(previousTodos: Todo[], currentTodos: Todo[]): TodoStateChange; /** * Check if a reminder should be generated based on changes */ shouldGenerateReminder(stateChange: TodoStateChange): boolean; /** * Format message as system reminder */ private formatSystemReminder; /** * Generate proactive todo suggestion for complex tasks */ getComplexTaskSuggestion(detectedTasks: string[]): string; /** * Generate escalated reminder after sustained complexity without todos */ getEscalatedComplexTaskSuggestion(detectedTasks: string[]): string; getCreateListReminder(_detectedTasks: string[]): string; getUpdateActiveTodoReminder(_todo: Todo): string; getEscalatedActiveTodoReminder(_todo: Todo): string; private buildNumberedTaskList; }