import { SensorData } from './DeviceTracking';
interface Feature {
    id: string;
    position: {
        x: number;
        y: number;
        z: number;
    };
    descriptor: number[];
    lastSeen: number;
}
interface MapPoint {
    id: string;
    position: {
        x: number;
        y: number;
        z: number;
    };
    observations: Feature[];
    confidence: number;
}
export declare class SLAM {
    private deviceTracking;
    private environmentalDetection;
    private features;
    private mapPoints;
    private lastPose;
    constructor();
    initialize(): Promise<void>;
    processFrame(imageData: ImageData): Promise<void>;
    private detectFeatures;
    private updatePose;
    private trackFeaturesAndUpdateMap;
    private findMatchingMapPoint;
    private updateMapPoint;
    private createMapPoint;
    private updateMapPointPosition;
    private updateFeatureTrackingStatus;
    getMapPoints(): MapPoint[];
    getCurrentPose(): {
        position: SensorData;
        orientation: SensorData;
    } | null;
    cleanup(): void;
}
export {};
