/**
 * One entry in a pre-formatted step list. Computed by the client from the canonical step tree
 * and carried in `test_execution_state.formatted_steps` (the artifact the agent reads via
 * get_test_context). This mirrors the generated `FormattedStep` model structurally; tool-library
 * declares its own minimal shape because it cannot depend on the generated api client.
 */
export interface FormattedStepEntry {
    /** Dot-notation position (e.g. "1", "2.3"); empty for task/flow end markers. */
    path: string;
    /** Step description, or the group/flow name for task/flow start and end entries. */
    text: string;
    /** What this entry is: a leaf step, or a task/flow start/end marker. */
    kind: 'step' | 'task-start' | 'task-end' | 'flow-start' | 'flow-end' | string;
    /** Stable canonical step id, when the entry has one. Absent for end markers. */
    step_id?: string;
}
/**
 * Render a pre-formatted step list into the text block the agent reads.
 *
 * Single source of truth for the `formatted_steps` layout, shared across the api (rendering the
 * test_execution_state artifact and get_test_context) and the mabl CLI (rendering the refreshed
 * list it returns from step-mutation tools). Output is the authoritative dot-notation path plus
 * stable step id per line.
 *
 * Layout:
 *   step:        "[<path>] (id: <step_id>)  <text>"
 *   task-start:  "[<path>] --- Task: <text> ---"
 *   task-end:    "--- End Task: <text> ---"     (no path; end markers don't occupy a position)
 *   flow-start:  "[<path>] --- Flow: <text> ---"
 *   flow-end:    "--- End Flow: <text> ---"
 *
 * The cursor is placed immediately before the entry whose path matches cursorPath; if no entry
 * matches (or cursorPath is the empty string), the cursor is appended at the end. The "(id: -)"
 * sentinel marks a step entry with no step_id so the model still sees a placeholder.
 */
export declare function formatFormattedSteps(formattedSteps: FormattedStepEntry[], cursorPath: string | undefined): string;
//# sourceMappingURL=formattedSteps.d.ts.map