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

/**
 * Ease animation status enum for better state management
 */
export declare enum EaseStatus {
    NotStarted = "not-started",
    Easing = "easing",
    Completed = "completed",
    Error = "error"
}
interface EaseToProps {
    map: MaybeRef<Nullable<Map>>;
    options?: EaseToOptions;
    debug?: boolean;
}
interface EaseToActions {
    easeTo: (options?: EaseToOptions) => Promise<void>;
    easeToCenter: (center: LngLatLike, options?: Omit<EaseToOptions, 'center'>) => Promise<void>;
    easeToZoom: (zoom: number, options?: Omit<EaseToOptions, 'zoom'>) => Promise<void>;
    easeToBearing: (bearing: number, options?: Omit<EaseToOptions, 'bearing'>) => Promise<void>;
    easeToPitch: (pitch: number, options?: Omit<EaseToOptions, 'pitch'>) => Promise<void>;
    stopEasing: () => void;
    getCurrentCamera: () => CameraOptions | null;
    easeStatus: Readonly<EaseStatus>;
    isEasing: boolean;
}
/**
 * Composable for managing smooth map camera transitions with enhanced error handling
 * Provides reactive ease-to animations with validation and debugging capabilities
 *
 * @param props - Configuration options for ease-to animations
 * @returns Enhanced actions and state for camera animations
 */
export declare function useEaseTo(props: EaseToProps): EaseToActions;
export {};
//# sourceMappingURL=useEaseTo.d.ts.map