import React from "react"; import { type FieldOption, type OptionValue } from "./status"; import type { SelectOption } from "./select"; /** A SELECT FIELD'S OWN OPTIONS, as the SDK hands them over — the complete set * with its colours, including options no current row carries. Structural rather * than imported, because the kit may not depend on `@lotics/app-sdk`. */ export interface FieldOptionsSource { options: readonly FieldOption[]; } /** THE FIELD AS A PICKER'S OPTIONS — and, where the caller asked for the BADGE, * each row drawn as the option's own mark. The colour is resolved by KEY rather * than carried in `data`, so a picker generic over its payload keeps it. */ export declare function fieldPicker(field: FieldOptionsSource, badge?: "tonal" | "dot"): { options: SelectOption[]; renderOptionContent?: (option: SelectOption) => React.ReactNode; }; /** * Feed a select FIELD's options into any kit picker without dropping what the * field knows — a picker takes `{ value, label }`, and the option's `color` is * not in that shape. * * // a status * * **`badge` is OPT-IN.** A badge means STATUS; a type, a category or a count is * not one and renders as plain text. `dot` over `tonal` when you do badge: a * stack of filled pills is heavier than the list describing them. */ export declare function optionPicker(options: OptionValue[], opts?: { badge?: "tonal" | "dot"; }): { options: SelectOption[]; renderOptionContent?: (option: SelectOption) => React.ReactNode; };