import { PointSource, type CoordinatePlace, type CoordinateType, type Place, type Point, type RecommendType, type RecommendZonePlaces, type ValueOfOnChangeRecommendPlace, type Zone } from "../types/interface"; import { type AbortSignalOption } from "../utils/helper"; import { type UseMapPlaceProps } from "./useMapPlace"; export interface UseMapRecomendPlaceProps> { defaultPoint: Point; context?: C; emptyPlaceName: string; queryingPlaceName: string; signal?: AbortSignal; getLimit: (context?: C) => number; getAvailable?: (place: CoordinatePlace) => Promise; getRecomendPlace: (place: CoordinatePlace, context?: C) => Promise; onChangePlace?: UseMapPlaceProps["onChange"]; onQueryingPlace?: UseMapPlaceProps["onChange"]; onChange?: (place: ValueOfOnChangeRecommendPlace) => any; } export declare const useMapRecomendPlace: (props: UseMapRecomendPlaceProps) => { zoneRef: import("vue-demi").Ref; recomendPlace: { lng: number; lat: number; name: string; displayName: string; pointSource?: PointSource | undefined; }; placeCandidates: import("vue-demi").Ref<{ lng: number; lat: number; name: string; displayName: string; pointSource?: PointSource | undefined; }[]>; availableRef: import("vue-demi").Ref; recommendTypeRef: import("vue-demi").Ref; isQueryingRef: import("vue-demi").Ref; updateRecommendPlace: (place: Place, opt?: AbortSignalOption) => Promise; updateRecommendPlaceOnlyInZone: (place: Place, opt?: AbortSignalOption) => Promise; updatePlaceCandidates: (place: CoordinatePlace, opt?: AbortSignalOption) => Promise; updatePlace: (point: Point, coordinateType?: CoordinateType) => Promise; abortUpdatePlace: () => void; setPlaceCandidatesAndZone: ({ type, zone, places: placeCandidates, }: RecommendZonePlaces) => void; };