import "./result_header.css"; import type * as React from "react"; import type { ReactNode } from "react"; import { useRender } from "@base-ui/react/use-render"; import { type StyleProps } from "./style_props"; import { type HeadingLevel } from "./text"; /** * Result header — the strip that opens the POST-SAVE RECEIPT. A review surface gates a proposal * BEFORE it applies; this header opens the receipt for what a save-direct run * ALREADY CREATED. The receipt states the outcome and routes — it never edits * (correction happens through the record's ordinary verbs, on the record): * * - ONE record → `ResultHeader` (tone mark inline on the title row, outcome * title, failure reason line) + a handful of spread `DetailRow` receipt * lines (the identifying figures, not the field wall) + a `ConfidenceCallout` * callout naming exactly which values failed their deterministic checks. * - SEVERAL records → an attention-first `ListItem` register whose rows press * straight through to the records. Never tabs (they cap out), never stacked * collapsed cards, never a field wall duplicating the record page. * * A flagged value carries a DETERMINISTIC verdict the host computed (a failed * checksum, a count that disagrees) — never a fabricated score. */ export type ResultTone = "ok" | "attention" | "error" | "skipped"; export interface ResultHeaderProps extends StyleProps { /** `attention` when any value is flagged (or the item needs the user * elsewhere); `error` when the save failed; `skipped` for an item * deliberately not processed. The host computes it — it knows its flags. */ tone: ResultTone; /** Outcome-first: "Created ", "Updated ", "Could not save". */ title: string; /** The failure reason (error/skip rows), one line under the title. The * record's FIGURES never live here (they belong in the receipt lines), and * neither does confidence — that is `ConfidenceCallout`'s job (a callout, WITH its * basis), further down the receipt. */ detail?: string; /** Right-slot action (an open-record jump, a retry) — a `Button`. */ action?: ReactNode; /** Heading rank for the outcome title (screen readers jump by heading). * Defaults to 2 — the receipt heads its surface, like `SectionHeadingTitle`. */ level?: HeadingLevel; testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } /** The record's outcome strip — the tone mark rides INLINE on the title row * (everything sits on the page grid; no hanging gutter), with ONE meaningful * line under it (the honest confidence, or the failure reason) and the action * pinned right. Sections of the review (`DetailTable` fields, `Table` rows) * follow at the same left edge. */ export declare function ResultHeader(props: ResultHeaderProps): React.ReactElement>;