///
import { DatasourceItem, useThailandAddressDatasource } from "./use-thailand-addr";
/**
* About Thailand address format
* @see https://en.wikipedia.org/wiki/Thai_addressing_system#:~:text=With%20the%20exception%20of%20the,Road
*/
export declare type ThailandAddressValue = {
/**
* @description tambon (ตำบล), khwaeng (แขวง)
*/
subdistrict: string;
/**
* @description tambon (ตำบล), khwaeng (แขวง)
*/
district: string;
/**
* @description changwat (จังหวัด)
*/
province: string;
postalCode: string;
};
export declare const ThailandAddressValue: {
empty: () => ThailandAddressValue;
fromDatasourceItem: (ds: DatasourceItem) => ThailandAddressValue;
};
export declare type TypeaheadAdressContextData = {
value: ThailandAddressValue;
onValueChange?: (nextVal: ThailandAddressValue) => void;
onInputFieldChange: (fieldName: keyof ThailandAddressValue, inputText: string) => void;
searchByField: ReturnType["searchByField"];
suggestionContainerElem: Element | null;
setSuggestionContainerElem: (e: Element | null) => void;
suggestions: DatasourceItem[];
setSuggestions: (ds: DatasourceItem[]) => void;
shouldDisplaySuggestion: boolean;
setShouldDisplaySuggestion: (v: boolean) => void;
highlightedItemIndex: number;
setHighlightedItemIndex: (v: number) => void;
};
export declare const typeaheadAddressContext: import("react").Context;
export declare function useAddressTypeaheadContext(): TypeaheadAdressContextData;