import { default as React } from 'react';
export interface SearchResult {
    id: string | number;
    label: string;
    description?: string;
    latitude: number;
    longitude: number;
}
export interface LocationPickerProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Initial coordinates [longitude, latitude] */
    defaultCoordinates?: [number, number];
    /** Callback when user confirms selection */
    onSelect?: (coordinates: {
        latitude: number;
        longitude: number;
    }, zoom: number) => void;
    /** Callback when Cancel is clicked */
    onCancel?: () => void;
    /** Search logic callback */
    onSearch?: (query: string) => Promise<SearchResult[]>;
    /** Optional: Callback when map stops moving */
    onMapIdle?: (coordinates: {
        latitude: number;
        longitude: number;
    }) => void;
    title?: string;
    placeholder?: string;
    confirmLabel?: string;
    cancelLabel?: string;
    /**
     * Custom footer component.
     * If provided, the default footer container is removed entirely.
     * Use this to render a Sheet or custom overlay.
     */
    footer?: (props: {
        onConfirm: () => void;
        onCancel: () => void;
        latitude: number;
        longitude: number;
    }) => React.ReactNode;
}
export declare const LocationPicker: ({ className, defaultCoordinates, onSelect, onCancel, onSearch, onMapIdle, title, placeholder, confirmLabel, cancelLabel, footer, ...props }: LocationPickerProps) => import("react/jsx-runtime").JSX.Element;
