///
///
import { CBServerConfig } from "./CBServerApi";
import { CBARScene } from "../core";
export declare type UploadFileRequests = {
[name: string]: ImageSource;
};
export declare type UploadFileResult = {
name: string;
url: string;
};
export declare enum UploadStatus {
Connected = "Contacting Server",
Uploading = "Photo is being uploaded",
Processing = "Running Algorithms",
Completed = "Complete",
Failed = "Upload failed"
}
export declare type ImageSource = HTMLImageElement | HTMLCanvasElement | OffscreenCanvas;
export declare type UrlDict = {
[name: string]: string;
};
export declare class CBContentManager {
private config;
private _roomId;
get roomId(): string | undefined;
private roomUploadUrl;
private _subroomId;
get subroomId(): string | undefined;
private _tempSubroomId;
private roomSubUploadUrls;
private _uploadNames;
private _uploadsNeedSync;
private readonly imageProcessor;
static get default(): CBContentManager | undefined;
constructor(config: CBServerConfig);
registerImage(name: string): void;
registerImages(names: string[]): void;
unregisterImage(name: string): void;
get uploadNames(): string[];
private initiateUploads;
resetScene(): void;
synchronize(searchObject: any): any;
uploadRoom(image: File | Blob, fov: number | undefined, acceleration: [number, number, number] | undefined, onProgress?: (progress: number, status: UploadStatus) => void): Promise;
uploadFile(image: ImageSource, name: string): Promise;
uploadFiles(files: {
[name: string]: ImageSource;
}): Promise;
private _uploadFile;
uploadScene(scene: CBARScene, images: UploadFileRequests, onProgress?: (progress: number, result: UploadFileResult | null) => void): Promise;
dataURItoBlob(dataURI: string): Blob;
static get hasMobileShare(): boolean;
static getImageCrop(image: ImageSource, width: number, height: number): {
x: number;
y: number;
width: number;
height: number;
};
static getResizedImage(image: ImageSource, width: number, height: number): string;
static imageToCanvasContext(image: ImageSource): CanvasRenderingContext2D | null;
static dataUrlToImage(data: string): Promise;
static dataUrlToCanvasContext(data: string): Promise;
static blobToDataUri(blob: Blob): Promise;
}
export declare const drawBeforeAfter: (beforeContext: CanvasImageSource, afterContext: CanvasImageSource, isHorizontal?: boolean) => CanvasRenderingContext2D | null;