/**
 * @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;
}
