import { CheckableListItem } from '../../../../../CheckableList/types';
import { NormalizedRHFCheckableListPropsFromBackend } from '../../../../types';
/**
 * Flat list built from `field.options` for `RHFCheckableList` when `hasGroups` is false.
 * Populated by {@link normalizeCheckableListPropsFromBackend} as `resolvedCheckableListItems` (whitelist
 * still omits raw `items` from `componentProps`). Matches `CheckableListProps['items']` when defined.
 */
export type ResolvedCheckableListItems = CheckableListItem[];
/**
 * Whitelist-normalized props from `field.fieldType.componentProps` plus `resolvedLabel`,
 * `hasGroups`, `resolvedSearchable`, and `resolvedCheckableListItems` from `field.options`.
 */
export type NormalizedCheckableListPropsFromBackendResult = Partial<NormalizedRHFCheckableListPropsFromBackend> & {
    /** Visible label from `field` + dictionary (`resolveFieldInputLabel`). */
    resolvedLabel?: string;
    /** True when normalized `groups` is non-empty. */
    hasGroups?: boolean;
    /** Final `searchable` flag (API override or default from `hasGroups`). */
    resolvedSearchable?: boolean;
    /** Flat items from `field.options` (empty array when none or invalid). */
    resolvedCheckableListItems: ResolvedCheckableListItems;
};
/** Backend payload shape after `isRecord` guard (plain object, string keys). */
export type BackendRecord = Record<string, unknown>;
/**
 * One normalizer per supported `NormalizedRHFCheckableListPropsFromBackend` key.
 * Returns `undefined` when the value is missing or invalid.
 */
export type PropertyNormalizerMap = {
    [K in keyof Partial<NormalizedRHFCheckableListPropsFromBackend>]: (input: BackendRecord) => Partial<NormalizedRHFCheckableListPropsFromBackend>[K] | undefined;
};
//# sourceMappingURL=types.d.ts.map