UNPKG

@itwin/clash-detection-client

Version:

Clash Detection client for the iTwin platform

145 lines 4.99 kB
/** Clash Detection API endpoint options. */ export interface ApiOptions { /** Clash Detection API base url. Default value is `https://api.bentley.com/clash-detection`. */ baseUrl?: string; /** Clash Detection API version. Default value is `itwin-platform.v1`. */ version?: string; } export declare type AccessTokenCallback = () => Promise<string>; /** Authorization data parameter. This interface is extended by all other specific operation parameter interfaces. */ export interface AuthorizationParam { /** Authorization token. eg: 'Bearer ey...'*/ accessToken?: string; } /** Common url parameters that are supported for all entity list requests. */ export interface CollectionRequestParams { /** * Specifies how many entities should be returned in an entity page. The value must not exceed 1000. * If not specified 100 entities per page will be returned. */ $top?: number; } /** Link to some other entity or entity list that is related to the main entity in the API response. */ export interface Link { /** Url to access the related entity. */ href: string; } /** * Links that are included in all entity list page responses. They simplify pagination implementation because users * can send requests using these urls that already include pagination url parameters without having to * manually keep track of queried entity count. */ export interface CollectionLinks { /** Link to the current page. */ self: Link; /** Link to the next page. If `null` it means that the next page is empty. */ next: Link | null; } /** Common properties of all entity list page responses. */ export interface CollectionResponse { /** Common entity list page response links. See {@link CollectionLinks}. */ _links: CollectionLinks; } /** * Values for return preference used in `Prefer` header. The header value is formed by joining * `return=` and the enum value. */ export declare enum PreferReturn { /** Instructs the server to return minimal entity representation. */ Minimal = "minimal", /** Instructs the server to return full entity representation. */ Representation = "representation" } export interface AllUserMetadata { createdBy: UserMetadata; modifiedBy: UserMetadata; } export interface UserMetadata { email: string; name: string; } /** Suppression Rule function parameters - vary depending on the selected suppression rule template */ export interface SuppressionRuleParameters { /** Property key. */ propertyKey?: PropertyKey; /** Expression operator. */ operator?: ValueObject; /** Relationship path. */ relationshipPath?: ValueObject; /** EC Sql expression. */ ecSql?: ValueObject; /** Like expression #1. */ likeExpression1?: ValueObject; /** Like expression #2. */ likeExpression2?: ValueObject; /** Like expression. */ likeExpression?: ValueObject; /** Property expression #1. */ propertyExpression1?: PropertyExpression; /** Property expression #2. */ propertyExpression2?: PropertyExpression; /** Property expression. */ propertyExpression?: PropertyExpression; /** Class key #1. */ classKey1?: ClassKey; /** Class key #2. */ classKey2?: ClassKey; /** Class key. */ classKey?: ClassKey; /** Property name. */ propertyName?: string; /** Regex pattern. */ pattern?: string; /** Upper bound of property value. */ upperBound?: string; /** Lower bound of property value. */ lowerBound?: string; } /** Value object. */ export interface ValueObject { value: string; } /** Property key. */ export interface PropertyExpression { /** Relationship path. */ relationshipPath: string; /** Property name. */ propertyName: string; /** Expression operator. */ operator: string; /** Property value. */ propertyValue: string; } /** Class key. */ export interface ClassKey { /** Schema name. */ schemaName: string; /** Class name. */ className: string; } /** Property key. */ export interface PropertyKey { /** Relationship path. */ relationshipPath: string; /** Property name. */ propertyName: string; } /** Element set criteria. */ export interface ElementSetCriteria { modelIds?: string[]; categoryIds?: string[]; query?: string; queryName?: string; selfCheck: boolean; clearance: number; } export interface AdvancedSettings { /** Flag to enable long clash job processing (no processing time limit enforced - just result limit). */ longClash: boolean; /** Flag to calculate and report clash overlaps (minimum orthogonal overlap distance). */ calculateOverlap: boolean; /** Flag to enable tolerance overlap validation. If 'suppressTouching' and 'calculateOverlap' are set, */ /** clashes are suppressed for overlaps less than touching tolerance. */ toleranceOverlapValidation: boolean; } //# sourceMappingURL=CommonInterfaces.d.ts.map