import { AxiosInstance } from 'axios';
import { ApiErrorHandler, BaseApi } from '../base/index';
import { CreateDataResponse } from '../base/model';
import { RecordCreateParams, Record, ViewToken, RecordQueryParams, Scene, GUICoords, UploadStatus, PanoramaJWTPayload, ISpacetwinParams, ISpacetwin, IViewToken, IUploadTickets, TrackType, TrackPoint } from './model';
export declare class PanoramaApi extends BaseApi {
    constructor(axiosInstance?: AxiosInstance, errorHandler?: ApiErrorHandler);
    static parseApiToken(apiToken: string): PanoramaJWTPayload;
    static loadApiToken(baseUrl: string, panoramaApi: string, viewToken: string): Promise<any>;
    listRecord(params: RecordQueryParams): Promise<import('../base/model').Paged<Record>>;
    postRecord(params: RecordCreateParams): Promise<CreateDataResponse>;
    getRecordOverview(id: string): Promise<Record>;
    getRecordViewtoken(id: string): Promise<ViewToken>;
    listScene(recordId: string): Promise<Scene[]>;
    getScenesByTimestamp(recordId: string, timestamp: number): Promise<{
        pre: Scene;
        next: Scene;
    }>;
    recomputeTrack(recordId: string, points: [startpoint: GUICoords, endpoint: GUICoords]): Promise<null>;
    updateRecordUploadStatus(id: string, params: {
        status: UploadStatus;
        fileUrls?: string[];
    }): Promise<any>;
    getApiToken(viewtoken: string): Promise<any>;
    getSpacetwins(params: ISpacetwinParams): Promise<import('../base/model').Paged<ISpacetwin>>;
    postSpacetwins(params: any): Promise<unknown>;
    updateInspection(id: number | string, params: Partial<any>): Promise<any>;
    getSpacetwinsIdViewtoken(id: string): Promise<IViewToken>;
    postSpacetwinsIdUpdateUploadStatus(id: string, params: {
        status: string;
        fileUrls?: string[];
    }): Promise<any>;
    postUploadTicket(params: {
        isv: 'hw';
        files: string[];
    }): Promise<IUploadTickets>;
    getDownloadUrl(params: {
        isv: string;
        key: string;
    }): Promise<string>;
    listTrack(recordId: string, type: TrackType): Promise<TrackPoint[]>;
}
export * from './model';
