import { SceneViewAPIClient } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb_service'; import { StreamApi } from '@vertexvis/stream-api'; import { UUID } from '@vertexvis/utils'; import { JwtProvider } from '../grpc'; import { ModelViewListResponse } from './types'; export interface ListByItemOptions { hasAnnotations?: boolean; cursor?: string; size?: number; } /** * The controller for managing the model views of a scene view. */ export declare class ModelViewController { private client; private stream; private jwtProvider; private deviceIdProvider; constructor(client: SceneViewAPIClient, stream: StreamApi, jwtProvider: JwtProvider, deviceIdProvider: () => string | undefined); /** * Fetches a page of model views for a given item. The result includes a * cursor that can be used to fetch the next page of results. * * @param itemId The ID of the scene item to retrieve model views for. * @param options Options to configure fetching of items. * @returns A page of model views. */ listByItem(itemId: UUID.UUID, { hasAnnotations, cursor, size }?: ListByItemOptions): Promise; /** * Loads the provided model view within the current scene view. * * @param sceneItemId The ID of the scene item this model view is being loaded for. * @param modelViewId The ID of the model view to load. */ load(sceneItemId: UUID.UUID, modelViewId: UUID.UUID): Promise; /** * Unloads any previously loaded model view within the current scene view, * then performs a `reset` on the scene to return to the initial state for * the scene view. */ unload(): Promise; }