import { type DesktopNotification } from './menubar/notify-desktop.js';
export interface RunNotifyContext {
    /** Agent that ran, e.g. `claude`. */
    agent: string;
    /** `--name` slug when the caller named the run; falls back to the agent. */
    name?: string;
    /** The prompt, used for a one-line reminder of what the run was about. */
    prompt?: string;
    /** Working directory the run was scoped to; its basename names the project. */
    cwd?: string;
    /** Machine the run executed on, when it was dispatched off-box. */
    host?: string;
    /** Clickable target — a PR/ticket URL the caller already knows. */
    url?: string;
}
/**
 * The finish notification for one run. Pure — the exit handler and the tests
 * both build through here, so what ships is what is asserted.
 */
export declare function buildRunFinishNotification(ctx: RunNotifyContext, exitCode: number): DesktopNotification;
/**
 * Post the finish notification when this process exits. Best-effort by
 * construction: `notifyDesktop` swallows its own failures, and a run killed
 * outright (SIGKILL) never reaches an exit handler — that is the documented
 * limit, not a case to paper over.
 */
export declare function armRunFinishNotification(ctx: RunNotifyContext): void;
