import { Nullable } from '../../types';
import { MaybeRef } from 'vue';
import { Map, JumpToOptions, LngLatLike, CameraOptions } from 'maplibre-gl';

/**
 * Jump animation status enum for better state management
 */
export declare enum JumpStatus {
    NotStarted = "not-started",
    Jumping = "jumping",
    Completed = "completed",
    Error = "error"
}
interface JumpToProps {
    map: MaybeRef<Nullable<Map>>;
    options?: JumpToOptions;
    debug?: boolean;
    autoJump?: boolean;
}
interface JumpToActions {
    jumpTo: (options?: JumpToOptions) => void;
    jumpToCenter: (center: LngLatLike, options?: Omit<JumpToOptions, 'center'>) => void;
    jumpToZoom: (zoom: number, options?: Omit<JumpToOptions, 'zoom'>) => void;
    jumpToBearing: (bearing: number, options?: Omit<JumpToOptions, 'bearing'>) => void;
    jumpToPitch: (pitch: number, options?: Omit<JumpToOptions, 'pitch'>) => void;
    getCurrentCamera: () => CameraOptions | null;
    validateJumpOptions: (options: JumpToOptions) => boolean;
    jumpStatus: Readonly<JumpStatus>;
    isJumping: boolean;
}
/**
 * Composable for managing instant map camera jumps with enhanced error handling
 * Provides reactive jump-to functionality with validation and debugging capabilities
 *
 * @param props - Configuration options for jump-to functionality
 * @returns Enhanced actions and state for camera jumps
 */
export declare function useJumpTo(props: JumpToProps): JumpToActions;
/**
 * Legacy overload for backward compatibility
 * @deprecated Use the new props-based interface for better type safety and features
 */
export declare function useJumpTo(map: MaybeRef<Nullable<Map>>, options?: JumpToOptions): {
    jumpTo: (options?: JumpToOptions) => void;
};
export {};
//# sourceMappingURL=useJumpTo.d.ts.map