import * as react_jsx_runtime from 'react/jsx-runtime'; /** * Left-sidebar organism for the Borrowing Capacity page. * * Renders a titled list of selectable, editable `ScenarioItem` rows followed * by an `AddScenarioButton`. Drag-and-drop reordering is handled internally * via the HTML5 DnD API; the consumer receives the final order via `onReorder`. */ interface ScenarioListScenario { /** Unique identifier */ id: string; /** Display name (e.g. "Default Scenario") */ name: string; /** Secondary descriptor (e.g. "Owner Occupier") */ description?: string; } interface ScenarioListProps { /** Section heading (default: "New Loans") */ title?: string; /** Ordered list of scenarios to render */ scenarios: ScenarioListScenario[]; /** ID of the currently active scenario */ selectedId?: string; /** Called when a scenario row is clicked */ onSelect?: (id: string) => void; /** Called when "Update Scenario" is clicked in a kebab menu */ onEdit?: (id: string) => void; /** Called when "Delete Scenario" is clicked in a kebab menu */ onDelete?: (id: string) => void; /** Called when the Add button is clicked */ onAdd?: () => void; /** Label for the add button (default: "Add New Scenario") */ addLabel?: string; /** * Maximum number of scenarios allowed. When `scenarios.length >= maxScenarios` * the add button is disabled. */ maxScenarios?: number; /** All items show a drag handle when true (default: true) */ isDraggable?: boolean; /** * Called with the new ordered ID array after a drag-and-drop reorder. * The consumer is responsible for updating the `scenarios` prop accordingly. */ onReorder?: (orderedIds: string[]) => void; className?: string; } declare function ScenarioList({ title, scenarios, selectedId, onSelect, onEdit, onDelete, onAdd, addLabel, maxScenarios, isDraggable, onReorder, className, }: ScenarioListProps): react_jsx_runtime.JSX.Element; export { ScenarioList, type ScenarioListProps, type ScenarioListScenario };