import { DeleteTagParams, SceneListResponse, TagListResponse, TagResponse, SceneObjectResponse, SceneObjectListResponse, SceneResponse, GetSceneParams, PostSceneParams, GetAllScenesParams, PatchSceneParams, DeleteSceneParams, GetObjectParams, GetAllObjectsParams, PostObjectsParams, PatchObjectsParams, DeleteObjectParams, DeleteObjectsParams, GetScenesParams, GetObjectsParams, PatchObjectParam, GetSceneMetadataParams, SceneMetadataResponse, PutSceneParams, PatchObjectsOperationsParams, GetTagParams, GetTagsParams, GetAllTagsParams, PostTagParams, PatchTagParams } from "./models/index.js"; type AccessTokenFn = () => Promise; export declare class SceneClient { private readonly getAccessToken; private readonly baseUrl; /** * Create a new SceneClient instance. * @param getAccessToken – Async function to retrieve an access token. * @param baseUrl – Optional base URL for the API. Defaults to production. */ constructor(getAccessToken: AccessTokenFn, baseUrl?: string); /** * Fetch a single scene by ID (full representation including objects). * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.orderBy – Property to sort the returned sceneData.objects (optional, defaults to kind). * @returns SceneResponse containing the Scene's details and its objects. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ getScene(params: GetSceneParams): Promise; /** * Fetch a single scene by its ID (minimal representation including links). * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @returns SceneMetadataResponse containing the Scene's metadata and links. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ getSceneMetadata(params: GetSceneMetadataParams): Promise; /** * Fetches scenes in a single page specified by top/skip. * @param params.iTwinId – The iTwin's unique identifier. * @param params.top – Number of items per page. * @param params.skip – Number of items to skip. * @returns SceneListResponse containing the list of scenes details. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ getScenes(params: GetScenesParams): Promise; /** * Fetch all scenes with pagination. * @param params.iTwinId – The iTwin's unique identifier. * @param params.top – Number of items per page. * @param params.skip – Number of items to skip. * @param params.delayMs – Milliseconds to wait between requests. * @returns An async iterator of SceneListResponse. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ getAllScenes(params: GetAllScenesParams): Promise>; /** * Create a new scene. * @param params.iTwinId – The iTwin's unique identifier. * @param params.scene – The scene creation payload. * @returns SceneResponse containing the created Scene's details. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ postScene(params: PostSceneParams): Promise; /** * Create or replace an existing scene and all its objects. * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.scene – The scene creation payload. * @returns SceneResponse containing the created/updated Scene's details. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ putScene(params: PutSceneParams): Promise; /** * Update an existing scene's metadata. To replace scene objects, use {@link putScene}. * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.scene – The scene update payload. * @returns SceneResponse containing the updated Scene's details. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ patchScene(params: PatchSceneParams): Promise; /** * Delete a scene by its ID. * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @throws {ScenesApiError} If the API call fails. */ deleteScene(params: DeleteSceneParams): Promise; /** * Fetch a single scene object by its object ID. * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.objectId – The object's unique identifier. * @returns SceneObjectResponse containing the single object details. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ getObject(params: GetObjectParams): Promise; /** * Fetch scenes objects in a single page specified by top/skip/kind. * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.top – Number of items per page (default 100). * @param params.skip – Number of items to skip (default 0). * @param params.orderBy – Property to order objects by (default OrderByProperties.KIND). * @returns SceneObjectListResponse containing the objects in the scene. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ getObjects(params: GetObjectsParams): Promise; /** * Fetch scene objects with pagination. * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.top – Number of items per page (default 100). * @param params.skip – Number of items to skip (default 0). * @param params.delayMs – Milliseconds to wait between requests (default 0). * @param params.orderBy – Property to order objects by (default OrderByProperties.KIND). * @returns An async iterator of SceneObjectListResponse. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ getAllObjects(params: GetAllObjectsParams): Promise>; /** * Create one or multiple scene objects. * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.objects – Array of {@link SceneObjectCreate} to create. * @returns Created scene objects details in list. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ postObjects(params: PostObjectsParams): Promise; /** * Update a single scene object by its ID. * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.objectId – The object's unique identifier. * @param params.object – The {@link SceneObjectUpdate} to update. * @returns Updated scene object details. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ patchObject(params: PatchObjectParam): Promise; /** * Update one or multiple scene objects. * @deprecated Use {@link patchObjectsOperations} instead. * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.objects – Array of {@link SceneObjectUpdateById} to update. * @returns Updated scene objects details. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ patchObjects(params: PatchObjectsParams): Promise; /** * Update scene objects in bulk using atomic add/update/remove operations. * All operations are executed in the order provided. If any operation fails, all changes are rolled back. * Max 100 operations per request. * * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.operations – Array of {@link SceneObjectOperation}s to perform. * @returns Updated scene objects details. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ patchObjectsOperations(params: PatchObjectsOperationsParams): Promise; /** * Delete a single scene object by its ID. * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.objectId – The object's unique identifier. * @throws {ScenesApiError} If the API call fails. */ deleteObject(params: DeleteObjectParams): Promise; /** * Delete multiple scene objects by their IDs. * @param params.iTwinId – The iTwin's unique identifier. * @param params.sceneId – The scene's unique identifier. * @param params.objectIds – Array of object IDs to delete. * @throws {ScenesApiError} If the API call fails. */ deleteObjects(params: DeleteObjectsParams): Promise; /** * Fetch a single tag by ID. * @param params.iTwinId - The iTwin's unique identifier. * @param params.tagId - The tag's unique identifier. * @returns TagResponse containing the tag details. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ getTag(params: GetTagParams): Promise; /** * Fetch tags in a single page specified by top/skip. * @param params.iTwinId - The iTwin's unique identifier. * @param params.top - Number of items per page. * @param params.skip - Number of items to skip. * @returns TagListResponse containing the list of tags. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ getTags(params: GetTagsParams): Promise; /** * Fetch all tags with pagination. * @param params.iTwinId - The iTwin's unique identifier. * @param params.top - Number of items per page. * @param params.skip - Number of items to skip. * @param params.delayMs - Milliseconds to wait between requests. * @returns An async iterator of TagListResponse. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ getAllTags(params: GetAllTagsParams): Promise>; /** * Create a new tag. * @param params.iTwinId - The iTwin's unique identifier. * @param params.tag - The tag creation payload. * @returns TagResponse containing the created tag details. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ postTag(params: PostTagParams): Promise; /** * Update an existing tag. * @param params.iTwinId - The iTwin's unique identifier. * @param params.tagId - The tag's unique identifier. * @param params.tag - The tag update payload. * @returns TagResponse containing the updated tag details. * @throws {ScenesApiError} If the API call fails or the response format is invalid. */ patchTag(params: PatchTagParams): Promise; /** * Delete a tag by ID. * @param params.iTwinId - The iTwin's unique identifier. * @param params.tagId - The tag's unique identifier. * @throws {ScenesApiError} If the API call fails. */ deleteTag(params: DeleteTagParams): Promise; } export {};