export interface Reminder {
    /** Succinct form shown in the statusline (a few words). */
    short: string;
    /** Full principle, shown by `agents reminders`. Falls back to `short`. */
    full: string;
}
/**
 * Point the reminders file at a fixture for tests, mirroring
 * `setClaudeUsageCachePathForTest` in accounting/usage.ts. Returns the prior
 * override so a test can restore it. Pass `null` to clear.
 */
export declare function setRemindersFilePathForTest(filePath: string | null): string | null;
export declare function remindersFilePath(): string;
/**
 * Load reminders from disk.
 *
 * Returns `[]` when the file does not exist — the feature is simply not opted
 * in. Throws on a present-but-malformed file so `agents reminders` can surface
 * the problem; the statusline caller deliberately swallows that, because a
 * broken prompt is worse than a missing reminder line.
 */
export declare function loadReminders(filePath?: string): Reminder[];
/**
 * Deterministically pick one reminder for a session. Same `sessionId` always
 * maps to the same reminder, so it is stable within a session; different session
 * ids spread across the list, so concurrent agents show different reminders.
 * Returns `null` when there are no reminders.
 */
export declare function pickReminderForSession(reminders: Reminder[], sessionId?: string): Reminder | null;
