/**
 * Persisted attention management data structure.
 */
export interface AttentionData {
    /** Current focus items — topics the agent should prioritize */
    focus: string[];
    /** Suppressed items — topics the agent should deprioritize */
    suppressed: string[];
    /** Last time focus items were pruned (ISO date string) */
    lastPruned: string;
    /** Timestamps for each focus item (for pruning stale items) */
    focusTimestamps?: Record<string, string>;
}
/**
 * Service for managing agent attention — what to focus on and what to suppress.
 *
 * Focus items direct the agent's attention toward high-priority topics.
 * Suppressed items filter out noise from irrelevant past context.
 * Pruning removes stale focus items that haven't been updated in 2+ weeks.
 *
 * Storage: ~/.crewly/agents/{sessionName}/attention.json
 */
export declare class AttentionService {
    /**
     * Get the file path for an agent's attention data.
     *
     * @param sessionName - Agent session name
     * @returns Absolute path to attention.json
     */
    private getFilePath;
    /**
     * Read attention data from disk.
     *
     * @param sessionName - Agent session name
     * @returns Attention data, or empty default if file doesn't exist
     */
    getAttention(sessionName: string): Promise<AttentionData>;
    /**
     * Get the current focus items for an agent.
     *
     * @param sessionName - Agent session name
     * @returns Array of focus item strings
     */
    getFocus(sessionName: string): Promise<string[]>;
    /**
     * Set the focus items for an agent (replaces existing focus).
     *
     * @param sessionName - Agent session name
     * @param items - New focus items
     */
    setFocus(sessionName: string, items: string[]): Promise<void>;
    /**
     * Add a single item to the suppressed list.
     *
     * @param sessionName - Agent session name
     * @param item - Item to suppress
     */
    suppress(sessionName: string, item: string): Promise<void>;
    /**
     * Prune stale focus items that haven't been updated in PRUNE_THRESHOLD_DAYS.
     *
     * @param sessionName - Agent session name
     * @returns Number of items pruned
     */
    prune(sessionName: string): Promise<number>;
    /**
     * Persist attention data to disk.
     *
     * @param sessionName - Agent session name
     * @param data - Attention data to save
     */
    private save;
}
//# sourceMappingURL=attention.service.d.ts.map