import * as react_jsx_runtime from 'react/jsx-runtime'; import { ReactNode, CSSProperties } from 'react'; type PickerLabels = { countryLabel: string; stateLabel: string; cityLabel: string; countryTitle: string; stateTitle: string; cityTitle: string; countryPlaceholder: string; statePlaceholder: string; cityPlaceholder: string; stateDisabledPlaceholder: string; cityDisabledPlaceholder: string; stateNotApplicable: string; cityNotApplicable: string; stateDisabledHint: string; cityDisabledHint: string; loadingLabel: (label: string) => string; errorLabel: (label: string) => string; searchPlaceholder: string; noResults: string; fallbackPlaceholder: (label: string) => string; closeDropdown: (title: string) => string; searchAccessibilityLabel: (title: string) => string; openPickerHint: (label: string) => string; selectedValueLabel: (label: string, value: string) => string; fallbackInputLabel: (label: string) => string; fallbackInputHint: (label: string) => string; }; declare const DEFAULT_LABELS: PickerLabels; type TriggerRenderProps = { label: string; displayValue: string | null; placeholder: string; isLoading: boolean; isDisabled: boolean; hasError: boolean; onPress: () => void; }; type ItemRenderProps = { label: string; value: string; onSelect: () => void; }; type SearchRenderProps = { value: string; placeholder: string; onChange: (value: string) => void; }; type EmptyRenderProps = { query: string; }; type PickerRenderProps = { renderTrigger?: ((props: TriggerRenderProps) => ReactNode) | undefined; renderItem?: ((props: ItemRenderProps) => ReactNode) | undefined; renderSearch?: ((props: SearchRenderProps) => ReactNode) | undefined; renderEmpty?: ((props: EmptyRenderProps) => ReactNode) | undefined; }; type PickerTheme = { dropdownBackground: string; titleColor: string; searchBackground: string; searchTextColor: string; searchPlaceholderColor: string; rowTextColor: string; rowSubTextColor: string; rowHoverBackground: string; separatorColor: string; emptyTextColor: string; labelColor: string; borderColor: string; triggerBackground: string; disabledBackground: string; disabledBorderColor: string; hoverBackground: string; focusRingColor: string; valueTextColor: string; placeholderColor: string; chevronColor: string; chevronDisabledColor: string; loadingColor: string; }; declare const DEFAULT_THEME: PickerTheme; declare const DARK_THEME: PickerTheme; type Country = { name: string; isoCode: string; flag: string; currency?: string; }; type State = { name: string; isoCode: string; countryCode: string; }; type City = { name: string; stateCode: string; countryCode: string; }; type PickerSelection = { country: Country | null; state: State | null; city: City | null; }; type CityPickerProps = PickerRenderProps & { countryCode: string | null | undefined; stateCode: string | null | undefined; value: City | null; onChange: (city: City) => void; notApplicable?: boolean | undefined; placeholder?: string | undefined; theme?: Partial | undefined; labels?: Partial | undefined; testID?: string | undefined; style?: CSSProperties | undefined; className?: string | undefined; }; declare function CityPicker({ countryCode, stateCode, value, onChange, notApplicable, placeholder, theme: themeOverride, labels: labelsOverride, testID, renderTrigger, renderItem, renderSearch, renderEmpty, style, className, }: CityPickerProps): react_jsx_runtime.JSX.Element; type CountryPickerProps = PickerRenderProps & { value: Country | null; onChange: (country: Country) => void; theme?: Partial | undefined; labels?: Partial | undefined; testID?: string | undefined; style?: CSSProperties | undefined; className?: string | undefined; }; declare function CountryPicker({ value, onChange, theme: themeOverride, labels: labelsOverride, testID, renderTrigger, renderItem, renderSearch, renderEmpty, style, className, }: CountryPickerProps): react_jsx_runtime.JSX.Element; type CountryStateCityPickerProps = PickerRenderProps & { onSelect: (selection: Partial) => void; defaultValue?: Partial | undefined; theme?: Partial | undefined; labels?: Partial | undefined; testID?: string | undefined; style?: CSSProperties | undefined; className?: string | undefined; }; declare function CountryStateCityPicker({ onSelect, defaultValue, theme, labels, testID, renderTrigger, renderItem, renderSearch, renderEmpty, style, className, }: CountryStateCityPickerProps): react_jsx_runtime.JSX.Element; type StatePickerProps = PickerRenderProps & { countryCode: string | null | undefined; value: State | null; onChange: (state: State) => void; onNoStates?: (() => void) | undefined; placeholder?: string | undefined; theme?: Partial | undefined; labels?: Partial | undefined; testID?: string | undefined; style?: CSSProperties | undefined; className?: string | undefined; }; declare function StatePicker({ countryCode, value, onChange, onNoStates, placeholder, theme: themeOverride, labels: labelsOverride, testID, renderTrigger, renderItem, renderSearch, renderEmpty, style, className, }: StatePickerProps): react_jsx_runtime.JSX.Element; type UseCitiesResult = { data: City[]; isLoading: boolean; error: Error | null; }; declare function useCities(countryCode: string | null | undefined, stateCode: string | null | undefined): UseCitiesResult; type UseCountriesResult = { data: Country[]; isLoading: boolean; error: Error | null; }; declare function useCountries(): UseCountriesResult; declare function usePickerTheme(override?: Partial): PickerTheme; type PresetInput = { country?: string | null; state?: string | null; city?: string | null; }; type UsePresetSelectionResult = { selection: Partial; isLoading: boolean; error: Error | null; }; /** * Resolves string identifiers from a backend into full Country/State/City * objects suitable for passing as `defaultValue` to CountryStateCityPicker. * * Each field accepts either a name or ISO code, matched case-insensitively. * City accepts name only (cities have no ISO code in the dataset). * * @example * const { selection, isLoading } = usePresetSelection({ * country: 'IN', // or 'India' * state: 'MH', // or 'Maharashtra' * city: 'Mumbai', * }) * * if (!isLoading) { * return * } */ declare function usePresetSelection(input: PresetInput): UsePresetSelectionResult; type UseStatesResult = { data: State[]; isLoading: boolean; error: Error | null; }; declare function useStates(countryCode: string | null | undefined): UseStatesResult; export { type City, CityPicker, type Country, CountryPicker, CountryStateCityPicker, DARK_THEME, DEFAULT_LABELS, DEFAULT_THEME, type EmptyRenderProps, type ItemRenderProps, type PickerLabels, type PickerRenderProps, type PickerSelection, type PickerTheme, type SearchRenderProps, type State, StatePicker, type TriggerRenderProps, useCities, useCountries, usePickerTheme, usePresetSelection, useStates };