/** @jsxImportSource preact */ /** * @license * Copyright 2026 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import type { JSX } from "preact"; import type { WebCommandBadge } from "../../annotations"; import type { WebCommandNode } from "../../commandTree"; /** * The `all` marker, on both sides of an order. * * On the `all` itself it is a count, because the name is the thing that * misleads: `4/5` says four of the five commands beside it, and the one it * leaves out is named in the tooltip and in the form. * * A member is marked only where that count leaves the question open — where * the `all` skips something, so which rows it covers is a real question, or * where this member runs only under a flag. An `all` that runs its whole group * has already said so on its own row, and a chip repeated down every row under * it is one nobody reads. */ export declare function RunsMarker({ node }: { node: WebCommandNode; }): JSX.Element | null; export declare function CommandBadges({ badges, className, }: { badges: readonly WebCommandBadge[] | undefined; className?: string; }): JSX.Element | null; /** * One row: the command, and what it costs to run. * * The rail carries the NAME and nothing else. A description clipped to what a * 266px rail has left over is a sentence nobody can read and a column that * pushes the badges — the part that has to be legible before you click — into * whatever is left; the full line reads in the options pane, and on the row's * tooltip. */ /** * The badges-and-note strip a command carries above whatever it is about to do. * * Shared by the form and the group page rather than written twice: both are * the same claim — what this costs, and what to know before pressing Run — and * two copies would have drifted the first time either grew a field. */ export declare function CommandNote({ badges, note, }: { badges: readonly WebCommandBadge[] | undefined; note: string | undefined; }): JSX.Element | null; /** The rail: the program's own tree, nested to whatever depth it has. */ export declare function CommandTree({ nodes, open, selectedPath, onToggle, onSelect, }: { nodes: readonly WebCommandNode[]; open: ReadonlySet; selectedPath: readonly string[]; onToggle: (key: string) => void; onSelect: (node: WebCommandNode) => void; }): JSX.Element;