import { type TaskCardTurn, type TaskCardView } from "#channel/task-card.js"; import type { SlackTaskCard } from "#public/channels/slack/renderers.js"; import type { SlackChannelInternalEvents } from "#public/channels/slack/slackChannel.js"; /** * eve's default task card: a `task_card` block for one task, or a `plan` block * for several, and no card for a turn that started none. A settled task shows * one line about how it ended and how long it took. A task the model cancelled * with `eve__task_cancel` shows as done, since it no longer needed the work; a * failed task, or one stopped any other way, shows as an error. */ export declare function renderDefaultSlackTaskCard(view: TaskCardView): SlackTaskCard | null; /** A turn's tracked calls, and the card eve last wrote for it. */ export interface SlackTaskCardState { readonly turn: TaskCardTurn; readonly ts?: string; readonly fingerprint?: string; } /** * Keeps each turn's task card current from the session's own events. It runs * around the renderer chain, so the card never depends on which handlers a * renderer keeps: eve tracks the turn's calls first, runs the chain's handler, * then writes the card `taskCard` returns if it changed. */ export declare function withTaskCards(events: SlackChannelInternalEvents, taskCard: (view: TaskCardView) => SlackTaskCard | null): SlackChannelInternalEvents;