import React from 'react';
import { type CompactMapProps } from './CompactMap';
import { type FullscreenMapProps } from './FullscreenMap';
import type { MapViewProps } from './MapView';
export interface MapProps extends Omit<MapViewProps, 'className' | 'style'> {
    /**
     * Controlled fullscreen state (optional - for external state control)
     */
    isFullscreen?: boolean;
    /**
     * Callback when user toggles fullscreen mode (optional - for external state control)
     */
    onToggleFullscreen?: (isFullscreen: boolean) => void;
    /**
     * Props passed to CompactMap when not in fullscreen
     */
    compactMapProps?: Omit<CompactMapProps, keyof MapViewProps | 'onExpand'>;
    /**
     * Props passed to FullscreenMap when in fullscreen
     */
    fullscreenMapProps?: Omit<FullscreenMapProps, keyof MapViewProps | 'onCollapse'>;
}
/**
 * Map component - Main orchestrator for compact and fullscreen map views.
 *
 * Features:
 * - Displays either CompactMap or FullscreenMap based on fullscreen state
 * - Manages fullscreen toggle (can be controlled or uncontrolled)
 * - Expand button in CompactMap to enter fullscreen
 * - Collapse button in FullscreenMap to exit fullscreen
 *
 * Following the Album component pattern for ChatGPT Apps SDK integration.
 *
 * @example
 * ```tsx
 * // Uncontrolled (component manages its own state)
 * <Map locations={locations} />
 *
 * // Controlled (external state)
 * <Map
 *   locations={locations}
 *   isFullscreen={isFullscreen}
 *   onToggleFullscreen={setIsFullscreen}
 * />
 * ```
 */
export declare const Map: React.FC<MapProps>;
//# sourceMappingURL=Map.d.ts.map