import type { ViralViewerApi } from "../../viral-viewer-api";
import { type SaveSceneProgress } from "./scene-snapshot-types";
export declare class SceneSnapshotManager {
    private viralViewerApi;
    private _store;
    constructor(viralViewerApi: ViralViewerApi);
    saveScene(name?: string, onProgress?: (progress: SaveSceneProgress) => void): Promise<string>;
    private _extractBufferElements;
    private _extractIFCPropertiesBatch;
    loadScene(key: string): Promise<void>;
    exportScene(key: string): Promise<Blob>;
    importScene(blob: Blob): Promise<void>;
    private _restoreEnvelope;
    listSceneSnapshots(): Promise<{
        key: string;
        name?: string;
        timestamp: string;
        modelCount: number;
        editorObjectCount: number;
        sizeBytes: number;
    }[]>;
    deleteSceneSnapshot(key: string): void;
}
