trimble-connect-sdk
Version:
Trimble Connect SDK for JavaScript
638 lines (637 loc) • 29.5 kB
TypeScript
import { Configuration } from './config';
import { ServiceResponse } from './response';
import { Service } from './service';
import { Attachment, AttachmentObject, AttachmentTarget, Clash, ClashSet, ConnectObject, Comment, CommentObjectType, CreateCommentRequest, FileEntry, FileParentType, FolderEntry, Link, LinksByTargetType, LinkTargetType, Placement, Project, ProjectSettings, ObjSyncAPIFileSystemEntry, ObjSyncAPIResponse, SearchOptions, SearchResult, Server, ServiceApi, Share, StatusResponse, SyncStatusResponse, Tag, TagObjectType, ToDo, UpdateFileEntryRequest, UrlResponse, User, UserDetails, UserGroup, UserProjectDetails, View, View2D, ViewGroup } from './tcps_interfaces';
/** The production TCPS service url. */
export declare const DefaultTCPSServiceUri = "https://app.connect.trimble.com/tc/api/2.0/";
/**
* The service client that represents connection to the TCPS (Trimble Connect Platform Services).
* Each API operation is exposed as a function on service.
*/
export declare class TCPS extends Service {
/**
* Determines whether the item is a file.
* @param item The folder item.
*/
static isFile(item: FileEntry | FolderEntry): item is FileEntry;
/**
* Determines whether the item is a folder.
* @param item The folder item.
*/
static isFolder(item: FileEntry | FolderEntry): item is FolderEntry;
/**
* Converts aws region name to service uri. Can be called without credentials.
* @param region The region name.
* @param serviceApi The service api name.
* @returns
*/
static regionToServiceUri(region: string, serviceApi: ServiceApi): Promise<string | undefined>;
/**
* Formats the TCPS POD url from the "origin".
* @param origin The origin.
* @param path The relative path.
*/
private static formatUrlFromOrigin;
/**
* @constructor Constructs a service object.
* @param {Config} config The configuration options (e.g. service url). If not provided the default configuration will be used.
* @param {Credentials} credentials The credentials to be attached to service requests.
*/
constructor(config?: Partial<Configuration>);
/**
* Search entities.
* @param origin The origin.
* @param searchOptions The search options.
*/
search(origin: string, searchOptions: SearchOptions): Promise<ServiceResponse<SearchResult[]>>;
/**
* Returns a list of regional pods with the mapping from the project location to sevice endpoints that should be used for storing project data.
* @returns {Promise<ServiceResponse<Server>>} the list of regional pods.
*/
listServers(): Promise<ServiceResponse<Server[]>>;
/**
* Returns the user details.
* @param userId The user identifier.
*/
getUserDetails(userId: string): Promise<ServiceResponse<UserDetails>>;
/**
* Returns the available projects on a server.
* @param server The server.
*/
listProjects(server: ConnectObject): Promise<ServiceResponse<Project[]>>;
/**
* Returns the project by it's identifier
* @param id The project identifier
* @param server The server (optional)
*/
getProject(id: string, server?: ConnectObject): Promise<ServiceResponse<Project>>;
/**
* Return updated project after patch.
* @param {string} projectId project's id.
* @param {string} projectOrigin project's origin uri.
* @param {Partial<Project>} patchObject Object with key:value pair.
* @returns {Promise<ServiceResponse<Project>>} Service response.
*/
patchProject(projectId: string, projectOrigin: string, patchObject: Partial<Project>): Promise<ServiceResponse<Project>>;
/**
* Return updated project after patch.
* @param {project} project.
* @returns {Promise<ServiceResponse<Project>>} Service response.
*/
updateLastVisitedOnProject(project: Project): Promise<ServiceResponse<Project>>;
/**
* Returns the project members by project identifier
* @param project The project
*/
listProjectMembers(project: Project): Promise<ServiceResponse<UserDetails[]>>;
/**
* Returns the folder and file structure of a project.
* @param project The Project.
* @returns {Promise<ServiceResponse<ObjSyncAPIFileSystemEntry[]>>} Service response containing the list of ObjSyncAPIFileSystemEntry.
*/
listProjectFileSystemStructure(project: Project): Promise<ServiceResponse<ObjSyncAPIFileSystemEntry[]>>;
/**
* Creates new user group
* @param {Project} project The project.
* @param {string} name The project name.
* @returns {Promise<ServiceResponse<UserGroup>>} Service response containing the created group.
*/
createUserGroup(project: Project, name: string): Promise<ServiceResponse<UserGroup>>;
/**
* Removes give user group.
* @param {Project} project The project.
* @param {string} groupId The group id.
* @returns {Promise<ServiceResponse<void>>} Service response.
*/
removeUserGroup(project: Project, groupId: string): Promise<ServiceResponse<void>>;
/**
* Returns list of user groups.
* @param {Project} project The project.
* @returns {Promise<ServiceResponse<UserGroup[]>>} Service response containing user groups.
*/
listUserGroups(project: Project): Promise<ServiceResponse<UserGroup[]>>;
/**
* Returns list of users in the given group.
* @param {Project} project The project.
* @param {string} groupId The group id.
* @returns {Promise<ServiceResponse<User[]>>} Service response containing list of users.
*/
listUsersInGroup(project: Project, groupId: string): Promise<ServiceResponse<User[]>>;
/**
* Adds users to the given group.
* @param {Project} project The project.
* @param {string} groupId The group id.
* @param {string[]} userIds The list of user ids to add to the given group.
* @returns {Promise<ServiceResponse<User[]>>} Service response containing added users.
*/
addUsersToGroup(project: Project, groupId: string, userIds: string[]): Promise<ServiceResponse<User[]>>;
/**
* Removes users from the given group.
* @param {Project} project The project.
* @param {string} groupId The group id.
* @param {string[]} userIds The list of user ids to remove from the given group.
* @returns {Promise<ServiceResponse<void>>} Service response.
*/
removeUsersFromGroup(project: Project, groupId: string, userIds: string[]): Promise<ServiceResponse<void>>;
/**
* Returns the project details of logged-in user.
* @param origin The origin. (optional)
* @returns {Promise<ServiceResponse<UserProjectDetails>>} Service response.
*/
getUserProjectDetails(origin: string): Promise<ServiceResponse<UserProjectDetails[]>>;
/**
* Invite a user to project.
* @param {Project} project The project.
* @param {string} userEmail The user email.
* @param {string} userRole The user role.
* @returns {Promise<ServiceResponse<UserDetails>>} Service response.
*/
inviteUserToProject(project: Project, userEmail: string, userRole: string): Promise<ServiceResponse<UserDetails>>;
/**
* Get a user details from project.
* @param {Project} project The project.
* @param {string} userId The user Id.
* @returns {Promise<ServiceResponse<void>>} Service response.
*/
getUserFromProject(project: Project, userId: string): Promise<ServiceResponse<UserDetails>>;
/**
* Remove a user from project.
* @param {string} project The project details from which user has to be removed.
* @param {string} userId The user Id.
* @returns {Promise<ServiceResponse<void>>} Service response.
*/
removeUserFromProject(project: Project, userId: string): Promise<ServiceResponse<void>>;
/**
* List of users for the company id
* @param {string} origin regions location of the projects
* @param {string} companyId Company's id
* @returns {Promise<ServiceResponse<User[]>>} Service response containing list of users.
*/
listUsersByCompanyId(origin: string, companyId: string): Promise<ServiceResponse<User[]>>;
/**
* Get project settings.
* @param {Project} project The project.
* @returns {Promise<ServiceResponse<ProjectSettings>>} Service response containing project settings.
*/
getProjectSettings(project: Project): Promise<ServiceResponse<ProjectSettings>>;
/**
* Put project settings.
* @param {Project} project The project.
* @param {ProjectSettings} projectSettings The project settings.
* @returns {Promise<ServiceResponse<void>>} Service response.
*/
putProjectSettings(project: Project, projectSettings: ProjectSettings): Promise<ServiceResponse<void>>;
/**
* Returns the folder items.
* @param folderId The folder id.
*/
listFolderEntries(parent: Project | FolderEntry): Promise<ServiceResponse<(FileEntry | FolderEntry)[]>>;
/**
* Returns the format processing status for given file.
* @param {Project} project The Project.
* @param {string} fileId The file id.
* @param {string} versionId Optional version identifier.
* @param {string} format Optional file format.
* @returns {Promise<ServiceResponse<StatusResponse>>} The valid return value s are integer from 0 to 100, negative values indicate processing error.
*/
getFileStatus(project: Project, fileId: string, versionId?: string, format?: string): Promise<ServiceResponse<StatusResponse>>;
/**
* Returns the sync api status for given project.
* @param {string} project The Project.
* @returns {Promise<ServiceResponse<string>>} String value representing the sync api status for the project.
*/
getProjectSyncStatus(project: Project, encode?: boolean): Promise<ServiceResponse<SyncStatusResponse>>;
/**
* Returns the sync api objects for given project with given status.
* @param {Project} project The Project.
* @param {string} status The sync status indicator.
* @returns {Promise<ServiceResponse<ObjSyncAPIResponse>>} Response containing sync api object list.
*/
getProjectSyncObjects(project: Project, status: string, types?: string, combineStreams?: boolean): Promise<ServiceResponse<ObjSyncAPIResponse[]>>;
/**
* Returns the file.
* @param project The Project.
* @param fileId The file id.
* @param {string} versionId Optional version identifier.
*/
getFile(project: Project, fileId: string, versionId?: string): Promise<ServiceResponse<FileEntry>>;
/**
* Returns the file versions.
* @param project The Project.
* @param fileId The file id.
* @returns {Promise<ServiceResponse<FileEntry[]>>} Service response.
*/
getFileVersions(project: Project, fileId: string): Promise<ServiceResponse<FileEntry[]>>;
/**
* Returns the file versions page by page.
* @param {Project} project The project.
* @param {string} fileId The file id.
* @param {(response: ServiceResponse<FileEntry[]>) => void} onPageRetrieved The callback which returns results for each page.
* @param {number} pageSize The page size used to request items.
* @returns {Promise<void>} Service response.
*/
getFileVersionsWithPages(project: Project, fileId: string, onPageRetrieved: (response: ServiceResponse<FileEntry[]>) => void, pageSize?: number): Promise<void>;
/**
* Updates the file. Renaming, moving, and setting assimilation notification supported.
* @param {Project} project The Project.
* @param {UpdateFileEntryRequest} updateRequest The update request.
* @returns {Promise<ServiceResponse<FileEntry>>} Service response containing udpate file entry.
*/
updateFile(project: Project, updateRequest: UpdateFileEntryRequest): Promise<ServiceResponse<FileEntry>>;
/**
* Returns the folder.
* @param project The Project.
* @param folderId The folder id.
*/
getFolder(project: Project, folderId: string): Promise<ServiceResponse<FolderEntry>>;
/**
* Returns the file download url application can use to download file content.
* @param {FileEntry} file The file.
* @param {string} versionId Optional version identifier.
* @param {string} format Optional format.
* @returns {ServiceResponse<void>} Service response.
*/
getFileDownloadUrl(file: FileEntry, versionId?: string, format?: string): Promise<ServiceResponse<UrlResponse>>;
/**
* Uploads the given files.
* @param {Project} The project
* @param {File[]} files The files to upload.
* @param {string} parentId The parent identifier.
* @param {FileParentType} parentType The parent type.
* @returns {Array<ServiceResponse<FileEntry>>} Array of service responses containing created file entries.
*/
uploadFileContent(project: Project, files: File[], parentId: string, parentType: FileParentType): Promise<ServiceResponse<FileEntry>[]>;
/**
* Makes an attempt to process or reprocess the given file.
* @param {Project} The project
* @param {FileEntry} file The file entry.
* @param {string} format Accepted values: "TRB" or "BSQ", default is "TRB".
* @returns {ServiceResponse<void>} The service response.
*/
assimilateFile(project: Project, file: FileEntry, format?: 'TRB' | 'BSQ'): Promise<ServiceResponse<void>>;
/**
* Uploads the presentation file content connected to the parent file.
* @param file The file.
* @param parent The parent file.
* @param format The file's format.
* @param parentVersionId The parent file version id.
*/
putPresentationFileContent(file: File, parent: FileEntry, format: string, parentVersionId?: string): Promise<ServiceResponse<void>>;
/**
* Gets an image URL.
* @param source The source object.
* @param path The image path.
*/
getImage(source: ConnectObject | undefined, path: string): Promise<string>;
/**
* Returns the model placement information.
* @param file The model file.
* @param versionId (optional) The model's version identifier to return its placement data.
*/
getPlacement(file: FileEntry, versionId?: string): Promise<ServiceResponse<Placement>>;
/**
* Create or update model placement for a given file.
* @param file The model file.
* @param placement The alignment.
* @param versionId (optional) The model's version identifier to link the given placement data to.
*/
putPlacement(file: FileEntry, placement: Placement, versionId?: string): Promise<ServiceResponse<Placement>>;
/**
* Returns the todos.
* @param project The project.
*/
listToDos(project: Project): Promise<ServiceResponse<ToDo[]>>;
/**
* Returns the todo.
* @param project The project.
* @param todoId The project.
*/
getToDo(project: Project, todoId: string): Promise<ServiceResponse<ToDo>>;
/**
* Creates a new todo and returns it.
* @param project The project.
* @param todo The todo data.
*/
createToDo(project: Project, todo: ToDo): Promise<ServiceResponse<ToDo>>;
/**
* Updates the todo.
* @param {Project} project The project.
* @param {ToDo} todo The updated todo data.
* @returns {Promise<ServiceResponse<ToDo>>} Service response containing updated todo.
*/
updateToDo(project: Project, todo: ToDo): Promise<ServiceResponse<ToDo>>;
/**
* Removes the todo.
* @param project The project.
* @param todoId The todo identifier.
* @returns {Promise<ServiceResponse<void>>} Service response.
*/
removeToDo(project: Project, todoId: string): Promise<ServiceResponse<void>>;
/**
* Returns the todo comments.
* @param todo The todo.
*/
listToDoComments(todo: ToDo): Promise<ServiceResponse<Comment[]>>;
/**
* Returns comments related to the given entity.
* @param {Project} project The project.
* @param {string} entityId The entity identifier.
* @param {CommentObjectType} entityType The entity type.
*/
listComments(project: Project, entityId: string, entityType: CommentObjectType): Promise<ServiceResponse<Comment[]>>;
/**
* Returns the attachements.
* @param origin The origin.
* @param projectId The project id.
* @param entityId The entity id.
* @param entityType The entity type. Supported types are "TODO" and "COMMENT".
*/
listAttachments(origin: string, projectId: string, entityId: string, entityType: 'TODO' | 'COMMENT'): Promise<ServiceResponse<Attachment[]>>;
/**
* Returns the todo attachments.
* @param todo The todo.
*/
listToDoAttachments(todo: ToDo): Promise<ServiceResponse<Attachment[]>>;
/**
* Adds attachments to entity.
* @param origin The origin.
* @param projectId The project id.
* @param entity The target entity.
* @param attachments An array of entity details to attach.
*/
addAttachmentsToEntity(origin: string, projectId: string, entity: AttachmentTarget, attachments: AttachmentObject[]): Promise<ServiceResponse<Attachment>>;
/**
* Attaches a view to todo.
* @param todo The todo.
* @param view The view.
*/
attachViewToTodo(todo: ToDo, view: View): Promise<ServiceResponse<Attachment>>;
/**
* Remove attachment from entity.
* @param origin The origin.
* @param projectId The project id.
* @param entityId The target entity.
* @param entityType The target type.
* @param attachmentId The attachment id.
* @param attachmentType The type of the attached entity.
*/
removeAttachment(origin: string, projectId: string, entityId: string, entityType: string, attachmentId: string, attachmentType: string): Promise<ServiceResponse<void>>;
/**
* Creates a comment.
* @param {Project} project The project.
* @param {CreateCommentRequest} comment The comment data.
*/
createComment(project: Project, comment: CreateCommentRequest): Promise<ServiceResponse<Comment>>;
/**
* Updates a comment.
* @param {Comment} comment The comment data.
* @returns {Promise<ServiceResponse<Comment>>} Service response containing udpated comment.
*/
updateComment(comment: Comment): Promise<ServiceResponse<Comment>>;
/**
* Deletes a comment.
* @param project The project.
* @param commentId The comment identifier.
*/
deleteComment(project: Project, commentId: string): Promise<ServiceResponse<void>>;
/**
* Returns a list of 2D views.
* @param project The project.
* @returns {Promise<ServiceResponse<View2D[]>>} Service response containing a list of 2D views.
*/
list2DViews(project: Project): Promise<ServiceResponse<View2D[]>>;
/**
* Returns a 2D view.
* @param project The project.
* @param viewId The view id.
* @returns {Promise<ServiceResponse<View2D>>} Service response containing the 2D view data.
*/
get2DView(project: Project, viewId: string): Promise<ServiceResponse<View2D>>;
/**
* Creates a new 2D view.
* @param project The project.
* @param view The view data.
* @returns {Promise<ServiceResponse<View2D>>} Service response containing the created 2D view data.
*/
create2DView(project: Project, view: View2D): Promise<ServiceResponse<View2D>>;
/**
* Updates the 2D view.
* @param {Project} project The project.
* @param {View} view The view data.
* @returns {Promise<ServiceResponse<View2D>>} Service response containing the updated 2D view data.
*/
update2DView(project: Project, view: View2D): Promise<ServiceResponse<View2D>>;
/**
* Removes the 2D view.
* @param project The project.
* @param viewId The view identifier.
* @param [force=false] Flag to delete explicit view even if it is attached to ToDos. Default is false.
*/
remove2DView(project: Project, viewId: string, force?: boolean): Promise<ServiceResponse<void>>;
/**
* Returns a list of 3D views.
* @param project The project.
*/
listViews(project: Project): Promise<ServiceResponse<View[]>>;
/**
* Returns a list of 3D views.
* @param project The project.
* @param pageSize The page size used to request items.
*/
listViewPaginated(project: Project, onPageRetrieved: (response: ServiceResponse<View[]>) => void, pageSize?: number): Promise<void>;
/**
* Returns a 3D view.
* @param project The project.
* @param viewId The view id.
*/
getView(project: Project, viewId: string): Promise<ServiceResponse<View>>;
/**
* Creates a new 3D view.
* @param project The project.
* @param view The view data.
*/
createView(project: Project, view: View): Promise<ServiceResponse<View>>;
/**
* Updates a 3D view.
* @param {Project} project The project.
* @param {View} view The view data.
* @returns {Promise<ServiceResponse<View>>} Service response containing the updated view data.
*/
updateView(project: Project, view: View): Promise<ServiceResponse<View>>;
/**
* Removes a 3D view.
* @param project The project.
* @param viewId The view identifier.
* @param [force=false] Flag to delete explicit view even if it is attached to ToDos. Default is false.
* @returns {Promise<ServiceResponse<void>>} Service response.
*/
removeView(project: Project, viewId: string, force?: boolean): Promise<ServiceResponse<void>>;
/**
* Creates a new view group.
* @param project The project.
* @param name The name of the group.
* @param views List of views to add to the group. Optional.
* @returns {Promise<ServiceResponse<ViewGroup>>} Service response containing the created view group.
*/
createViewGroup(project: Project, name: string, views?: string[]): Promise<ServiceResponse<ViewGroup>>;
/**
* Removes the view group.
* @param project The project.
* @param viewGroupId The view group identifier.
* @returns {Promise<ServiceResponse<void>>} Service response.
*/
removeViewGroup(project: Project, viewGroupId: string): Promise<ServiceResponse<void>>;
/**
* Updates the view group. Name and views modifications supported.
* @param project The project.
* @param viewGroup The view group.
* @returns {Promise<ServiceResponse<ViewGroup>>} Service response.
*/
updateViewGroup(project: Project, viewGroup: ViewGroup): Promise<ServiceResponse<ViewGroup>>;
/**
* Returns the view groups.
* @param project The project.
* @returns {Promise<ServiceResponse<ViewGroup[]>>} Service response containing view groups.
*/
listViewGroups(project: Project): Promise<ServiceResponse<ViewGroup[]>>;
/**
* Returns the tags.
* @param project The project.
*/
listTags(project: Project): Promise<ServiceResponse<Tag[]>>;
/**
* Creates a new tag.
* @param project The project.
* @param tag The Tag.
*/
createTag(project: Project, tag: Tag): Promise<ServiceResponse<Tag>>;
/**
* Adds object to a tag.
* @param tag The Tag.
* @param id The object id.
* @param objectType The object type.
*/
addObjectToTag(tag: Tag, id: string, objectType: TagObjectType): Promise<ServiceResponse<void>>;
/**
* Removes object from a tag.
* @param tag The Tag.
* @param id The object id.
* @param objectType The object type.
*/
removeObjectFromTag(tag: Tag, id: string, objectType: TagObjectType): Promise<ServiceResponse<void>>;
/**
* List tags related to an object.
* @param project The project.
* @param objectId The object id.
* @param objectType The object type.
*/
listTagsInObject(project: Project, objectId: string, objectType: TagObjectType): Promise<ServiceResponse<Tag[]>>;
/**
* Get links by file.
* @param {Project} project The project.
* @param {string} id The file id.
* @param {string} versionId The version id. Optional.
* @param {string} sourceId The source identifier of the object of interest. Optional.
* @param [includeDeleted=false] Indicates whether to include deleted links. Default is 'false'
* @param [full=false] Indicates whether to get full or mini version of listing. Default is 'false'.
* @returns {Promise<ServiceResponse<Link[]>>} Service response containing links related to the given file.
*/
getLinksByFile(project: Project, id: string, versionId?: string, sourceId?: string, includeDeleted?: boolean, full?: boolean): Promise<ServiceResponse<Link[]>>;
/**
* Get links by object.
* @param {Project} project The project.
* @param {string} objectId The object id.
* @param {LinksByTargetType} objectType The object type. Supporter types are FOLDER, FILE, TODO and URL.
* @param [includeDeleted=false] Indicates whether to include deleted links.
*/
getLinksByEntity(project: Project, objectId: string, objectType: LinksByTargetType, includeDeleted?: boolean): Promise<ServiceResponse<Link[]>>;
/**
* Creates object link.
* @param {Project} project The project.
* @param {string} modelId The model id.
* @param {string} versionId The fileversion id.
* @param {string[]} objectIds The object ids.
* @param {string} targetId The target id.
* @param {string} targetType The target type. Supported types are file, todo, view, clash, and url.
* @param {string} urlName The URL name (in case the target type is URL).
* @returns {Promise<ServiceResponse<void>>} Service response containing created link.
*/
createObjectLink(project: Project, modelId: string, versionId: string, objectIds: string[], targetId: string, targetType: LinkTargetType, urlName?: string): Promise<ServiceResponse<Link>>;
/**
* Updates the object link.
* @param {Project} project The project.
* @param {Link} link The updated object link data.
* @returns {Promise<ServiceResponse<Link>>} Service response containing updated object link.
*/
updateObjectLink(project: Project, link: Link): Promise<ServiceResponse<Link>>;
/**
* Deletes object link.
* @param {Project} project The project.
* @param {string} linkId The link id.
* @returns {Promise<ServiceResponse<void>>} Service response.
*/
deleteObjectLink(project: Project, linkId: string): Promise<ServiceResponse<void>>;
/**
* Returns clash sets of a project.
* @param {Project} project The project.
* @returns {Promise<ServiceResponse<ClashSet[]>>} Service response.
*/
listClashSets(project: Project): Promise<ServiceResponse<ClashSet[]>>;
/**
* Returns clash set details.
* @param {Project} project The project.
* @param {string} clashSetId The clash set id.
* @returns {Promise<ServiceResponse<ClashSet>>} Service response.
*/
getClashSetDetails(project: Project, clashSetId: string): Promise<ServiceResponse<ClashSet>>;
/**
* Creates a new ClashSet and returns it.
* @param {Project} project The project.
* @param {string} clash The clash set data.
* @returns {Promise<ServiceResponse<ClashSet>>} Service response.
*/
createClashSet(project: Project, clashset: ClashSet): Promise<ServiceResponse<ClashSet>>;
/**
* Updates clash set.
* @param {Project} project The project.
* @param {string} clashId The clash id.
* @returns {Promise<ServiceResponse<ClashSet>>} Service response.
*/
updateClashSet(project: Project, clashset: ClashSet): Promise<ServiceResponse<ClashSet>>;
/**
* Deletes clash set.
* @param {Project} project The project.
* @param {string} clashSetId The clash set id.
* @returns {Promise<ServiceResponse<void>>} Service response.
*/
deleteClashSet(project: Project, clashSetId: string): Promise<ServiceResponse<void>>;
/**
* Returns clash items.
* @param {Project} project The project.
* @param {string} clashId The clash set id.
* @returns {Promise<ServiceResponse<Clash[]>>} Service response.
* @deprecated
*/
getClashItems(project: Project, clashSetId: string): Promise<ServiceResponse<Clash[]>>;
/**
* Returns clash items page by page.
* @param {Project} project The project.
* @param {string} clashId The clash set id.
* @param {(response: ServiceResponse<Clash[]>) => void} onPageRetrieved The callback which returns results for each page.
* @param {number} pageSize The page size used to request items, default is 1000.
* @returns {Promise<void>} Service response.
*/
getClashItemsWithPages(project: Project, clashSetId: string, onPageRetrieved: (response: ServiceResponse<Clash[]>) => void, pageSize?: number): Promise<void>;
/**
* Returns the share.
* @param origin The service origin.
* @param sToken The share token.
* @returns {Promise<ServiceResponse<Share>>} Service response.
*/
getShare(origin: string, sToken: string): Promise<ServiceResponse<Share>>;
}
/**
* The default instance of the TCPS client.
*/
export declare const TCPSClient: TCPS;
export default TCPSClient;