import type { ActionFieldDef, OptionDef } from './types'; /** * Resolves a field's cascade dependency — the key of another form field whose * current value scopes this picker's options (`filter_value`). Tolerates the * camelCase `dependsOn` (authored SDK shape) and the snake_case `depends_on` * the kernel manifest serves. Returns the trimmed field key, or `undefined` * when the field declares no dependency. */ export declare function getDependsOn(field: ActionFieldDef): string | undefined; /** * Filters a STATIC enum's `options[]` by each option's `when` gate against the * current form values. Pure — no React, no side effects. * * Rule per option: * - No `when` → always included (retrocompat; existing enums untouched). * - With `when`: the gating field is `when.field ?? dependsOn`. If neither is * present the option is included (nothing to gate on). Otherwise the form's * value for that field is compared AS STRING: included when (no `in`, or * value ∈ `in`) AND (no `not_in`, or value ∉ `not_in`). Tolerates the * snake_case `not_in` the kernel serves alongside camelCase `notIn`. * * `formValues` is the flat map of the surrounding form/row values the gating * field is read from; `dependsOn` is the containing field's declared dependency * used as the default gating field. */ export declare function applyOptionWhen(options: OptionDef[] | undefined, formValues: Record | null | undefined, dependsOn?: string): OptionDef[]; //# sourceMappingURL=option-when.d.ts.map