import { GetLabelType } from '@m4l/core';
import { ResourceType } from '../../../../../extended/mui/Autocomplete/types';
import { Field, RHFAutocompleteRHFComponentPropsFromBackend } from '../../../../types';
/**
 * `getOptionStartAdornment` / `getOptionEndAdornment`: per-option resource derived from backend path
 * expressions and joined with `hostApiRemote` when the value is relative.
 */
type OptionAdornmentGetter = (option: unknown) => ResourceType;
export type NormalizedAutocompletePropsFromBackend<T = unknown> = Partial<RHFAutocompleteRHFComponentPropsFromBackend> & {
    resolvedLabel?: string;
    /** `field.options` when it is an array; otherwise `[]` (runtime-safe). */
    resolvedOptions: T[];
    resolvedGetOptionLabel?: (option: any) => string;
    resolvedIsOptionEqualToValue?: (option: any, value: any) => boolean;
    resolvedOptionStartAdornment?: OptionAdornmentGetter;
    resolvedOptionEndAdornment?: OptionAdornmentGetter;
};
/**
 * Reads `field.fieldType.rhfComponentProps` and returns only values supported by
 * RHFAutocomplete/RHFAutocompleteAsync. Unknown keys or invalid value types are ignored.
 * Always resolves runtime-ready props for `autocompleteStrategy` (`resolvedLabel`, option label
 * resolver, equality resolver, adornments).
 * @param hostApiRemote - Optional `host_api_remote` from environment; used to resolve relative paths read
 * from each option via `option*Adornment*Path` expressions.
 * @template T Option row type for `RHFAutocomplete<T>` (defaults to `unknown` when not specified at the call site).
 */
export declare function normalizeAutocompletePropsFromBackend<T = unknown>(field: Field, getLabel: GetLabelType, hostApiRemote?: string): NormalizedAutocompletePropsFromBackend<T>;
export {};
//# sourceMappingURL=normalizeAutocompletePropsFromBackend.d.ts.map