/**
 * Morning Priority store.
 *
 * Persists a single "top priority for today" answer per day under
 * `.harness/priorities/<YYYY-MM-DD>.json`. The 9am trigger reads
 * today's file to decide whether to surface the prompt and, if the
 * user replies via chat / Telegram, the chat handler calls
 * `setPriorityForToday` to store the answer.
 *
 * Read by `composeDailyBrief` via `loadMorningPriorityInputs` so the
 * brief opens with the day's anchor question.
 */
import type { MorningPriorityInputs } from '../jarvis/dailyBrief';
export interface StoredPriority {
    date: string;
    answer?: string;
    setAt?: string;
    askedAt?: string;
}
export declare function todayDate(now?: Date): string;
/** Set today's top priority. */
export declare function setPriorityForToday(projectDir: string, answer: string, now?: Date): Promise<StoredPriority>;
/** Record that the prompt was shown today (so the trigger can dedupe). */
export declare function markPromptShown(projectDir: string, now?: Date): Promise<StoredPriority>;
/** Read today's priority (or null if unset). */
export declare function getPriorityForToday(projectDir: string, now?: Date): Promise<StoredPriority | null>;
/** List recent priorities, newest-first, capped. */
export declare function listRecentPriorities(projectDir: string, limit?: number): Promise<StoredPriority[]>;
/**
 * Produce the `MorningPriorityInputs` shape consumed by composeDailyBrief.
 * Returns null when the file does not exist and there's nothing to show.
 */
export declare function loadMorningPriorityInputs(projectDir: string, now?: Date): Promise<MorningPriorityInputs | null>;
/**
 * Recognise a chat message that sets today's priority. Returns the
 * extracted answer string when matched, else null.
 *
 * Accepts (case-insensitive):
 *   priority: deploy v2 to prod
 *   /priority deploy v2 to prod
 *   top priority: deploy v2 to prod
 */
export declare function parsePrioritySetCommand(message: string): string | null;
//# sourceMappingURL=morningPriority.d.ts.map