import React from 'react';
/**
 * A single `Label: value` row in a tool formatter. A row with an `undefined`
 * value is skipped, which is how optional rows (e.g. the trailing "Result:"
 * line that only appears once the tool has run) are expressed.
 */
export interface ToolFormatterRow {
    label: string;
    value: string | undefined;
}
/**
 * Build a formatter for the common tool-output shape: a `⚒ <tool_name>` header
 * followed by a column of `Label: value` rows, wrapped in a borderless
 * `ToolMessage`. Tools whose output needs richer rendering (syntax-highlighted
 * diffs, colour-coded stats, etc.) should keep their bespoke formatter.
 *
 * `getRows` is called with the tool args and (once available) its string
 * result, so the same definition covers both the pre- and post-execution
 * render.
 */
export declare function makeSimpleToolFormatter<A>(toolName: string, getRows: (args: A, result?: string) => ToolFormatterRow[]): (args: A, result?: string) => React.ReactElement;
//# sourceMappingURL=simple-tool-formatter.d.ts.map