import { HTMLAttributes, HTMLInputTypeAttribute, ReactNode } from 'react';
/** A single address autocomplete option (e.g. a Google Places prediction). */
export type AddressSuggestion = {
id: string;
label: string;
};
export type AddressFieldProps = {
/** Field label — floats above the value once the field is filled. */
label: string;
value?: string;
onChange?: (value: string) => void;
/** Placeholder shown while empty (also the format hint, e.g. "(___) ___-____"). Defaults to `label`. */
placeholder?: string;
name?: string;
autoComplete?: string;
inputMode?: HTMLAttributes['inputMode'];
inputType?: HTMLInputTypeAttribute;
maxLength?: number;
/** Force the value uppercase as the user types (e.g. a 2-letter state code). */
transform?: 'uppercase';
/** Live input mask. `phone` formats digits as "(123) 456-7890" while typing. */
format?: 'phone';
disabled?: boolean;
/** Mark the field invalid: red border + (optional) `error` message below. */
invalid?: boolean;
/** Error message shown under the field when `invalid`. */
error?: ReactNode;
/** Autocomplete options shown in a dropdown while the field is focused (host-provided). */
suggestions?: AddressSuggestion[];
/** Called with the chosen suggestion's `id` when the user picks one. */
onSelectSuggestion?: (id: string) => void;
};
export declare const AddressField: ({ label, value, onChange, placeholder, name, autoComplete, inputMode, inputType, maxLength, transform, format, disabled, invalid, error, suggestions, onSelectSuggestion, }: AddressFieldProps) => import("react").JSX.Element;