@@ -54,6 +54,7 @@ import { CodeSpec } from '@itwin/core-common';
54
54
import { ColorDef } from '@itwin/core-common';
55
55
import { ColorDefProps } from '@itwin/core-common';
56
56
import { ColorIndex } from '@itwin/core-common';
57
+ import { CommonToolbarItem } from '@itwin/appui-abstract';
57
58
import { CompressedId64Set } from '@itwin/core-bentley';
58
59
import { Constructor } from '@itwin/core-bentley';
59
60
import { ContentIdProvider } from '@itwin/core-common';
@@ -292,12 +293,15 @@ import { TileHeader } from '@itwin/core-common';
292
293
import { TileProps } from '@itwin/core-common';
293
294
import { TileReadStatus } from '@itwin/core-common';
294
295
import { TileVersionInfo } from '@itwin/core-common';
296
+ import { ToolbarOrientation } from '@itwin/appui-abstract';
297
+ import { ToolbarUsage } from '@itwin/appui-abstract';
295
298
import { Transform } from '@itwin/core-geometry';
296
299
import { TransformProps } from '@itwin/core-geometry';
297
300
import { TransientIdSequence } from '@itwin/core-bentley';
298
301
import { Tweens } from '@itwin/core-common';
299
302
import { TxnNotifications } from '@itwin/core-common';
300
303
import { UiAdmin } from '@itwin/appui-abstract';
304
+ import { UiItemsProvider } from '@itwin/appui-abstract';
301
305
import { UnitConversion } from '@itwin/core-quantity';
302
306
import { UnitProps } from '@itwin/core-quantity';
303
307
import { UnitsProvider } from '@itwin/core-quantity';
@@ -1022,6 +1026,12 @@ export enum ACSType {
1022
1026
Spherical = 3
1023
1027
}
1024
1028
1029
+ // @beta (undocumented)
1030
+ export enum ActivationEvent {
1031
+ // (undocumented)
1032
+ onStartup = "onStartup"
1033
+ }
1034
+
1025
1035
// @public
1026
1036
export class ActivityMessageDetails {
1027
1037
constructor(showProgressBar: boolean, showPercentInMessage: boolean, supportsCancellation: boolean, showDialogInitially?: boolean);
@@ -1755,6 +1765,19 @@ export class BriefcaseTxns extends BriefcaseNotificationHandler implements TxnNo
1755
1765
reverseTxns(numOperations: number): Promise<IModelStatus>;
1756
1766
}
1757
1767
1768
+ // @beta (undocumented)
1769
+ export interface BuildExtensionManifest extends ExtensionManifest {
1770
+ readonly module: string;
1771
+ }
1772
+
1773
+ // @beta (undocumented)
1774
+ export interface BuiltInExtensionLoaderProps {
1775
+ // (undocumented)
1776
+ loader: ResolveFunc;
1777
+ // (undocumented)
1778
+ manifest: Promise<any>;
1779
+ }
1780
+
1758
1781
// @internal (undocumented)
1759
1782
export type CachedDecoration = {
1760
1783
type: "graphic";
@@ -3065,6 +3088,64 @@ export enum EventHandled {
3065
3088
Yes = 1
3066
3089
}
3067
3090
3091
+ // @beta
3092
+ export class ExtensionAdmin {
3093
+ constructor();
3094
+ addBuildExtension(manifestPromise: Promise<BuildExtensionManifest>, mainFunc?: ResolveFunc): Promise<void>;
3095
+ addExtensionLoader(extensionLoader: ExtensionLoader): void;
3096
+ addExtensionLoaderFront(extensionLoader: ExtensionLoader): void;
3097
+ // @internal
3098
+ onStartup: () => Promise<void>;
3099
+ }
3100
+
3101
+ // @beta
3102
+ export class ExtensionHost {
3103
+ protected constructor();
3104
+ // (undocumented)
3105
+ static get accuSnap(): AccuSnap;
3106
+ // (undocumented)
3107
+ static get locateManager(): ElementLocateManager;
3108
+ // (undocumented)
3109
+ static get notifications(): NotificationManager;
3110
+ // (undocumented)
3111
+ static get renderSystem(): RenderSystem;
3112
+ // (undocumented)
3113
+ static get toolAdmin(): ToolAdmin;
3114
+ // (undocumented)
3115
+ static get viewManager(): ViewManager;
3116
+ }
3117
+
3118
+ // @beta (undocumented)
3119
+ export class ExtensionImpl {
3120
+ constructor(_id: string);
3121
+ // (undocumented)
3122
+ registerTool(tool: ToolType, onRegistered?: () => any): Promise<void>;
3123
+ }
3124
+
3125
+ // @beta
3126
+ export interface ExtensionLoader {
3127
+ downloadExtension(arg: ExtensionLoaderProps): Promise<LocalExtensionProps>;
3128
+ getManifest(arg: ExtensionLoaderProps): Promise<ExtensionManifest>;
3129
+ }
3130
+
3131
+ // @beta
3132
+ export interface ExtensionLoaderProps {
3133
+ // (undocumented)
3134
+ name: string;
3135
+ // (undocumented)
3136
+ version: string;
3137
+ }
3138
+
3139
+ // @beta
3140
+ export interface ExtensionManifest {
3141
+ readonly activationEvents: ActivationEvent[];
3142
+ readonly description?: string;
3143
+ readonly displayName?: string;
3144
+ readonly main: string;
3145
+ readonly name: string;
3146
+ readonly version: string;
3147
+ }
3148
+
3068
3149
// @public
3069
3150
export interface ExtentLimits {
3070
3151
max: number;
@@ -4640,6 +4721,8 @@ export class IModelApp {
4640
4721
static authorizationClient?: AuthorizationClient;
4641
4722
// @internal (undocumented)
4642
4723
static createRenderSys(opts?: RenderSystem.Options): RenderSystem;
4724
+ // @beta (undocumented)
4725
+ static readonly extensionAdmin: ExtensionAdmin;
4643
4726
// @alpha
4644
4727
static formatElementToolTip(msg: string[]): HTMLElement;
4645
4728
static getAccessToken(): Promise<AccessToken>;
@@ -4650,7 +4733,7 @@ export class IModelApp {
4650
4733
// @internal (undocumented)
4651
4734
static get initialized(): boolean;
4652
4735
static get localization(): Localization;
4653
- // @internal (undocumented)
4736
+ // (undocumented)
4654
4737
static get locateManager(): ElementLocateManager;
4655
4738
// @internal (undocumented)
4656
4739
static lookupEntityClass(classFullName: string): typeof EntityState | undefined;
@@ -4676,6 +4759,8 @@ export class IModelApp {
4676
4759
// @internal
4677
4760
static get mapLayerFormatRegistry(): MapLayerFormatRegistry;
4678
4761
static get notifications(): NotificationManager;
4762
+ // @internal
4763
+ static readonly onAfterStartup: BeEvent<() => void>;
4679
4764
static readonly onBeforeShutdown: BeEvent<() => void>;
4680
4765
// @beta
4681
4766
static get publicPath(): string;
@@ -5280,6 +5365,14 @@ export class LengthDescription extends FormattedQuantityDescription {
5280
5365
// @internal (undocumented)
5281
5366
export function linePlaneIntersect(outP: Point3d, linePt: Point3d, lineNormal: Vector3d | undefined, planePt: Point3d, planeNormal: Vector3d, perpendicular: boolean): void;
5282
5367
5368
+ // @beta
5369
+ export interface LocalExtensionProps {
5370
+ // (undocumented)
5371
+ readonly mainFunc?: ResolveFunc;
5372
+ // (undocumented)
5373
+ readonly manifest: ExtensionManifest;
5374
+ }
5375
+
5283
5376
// @internal
5284
5377
export class LocalhostIpcApp {
5285
5378
// (undocumented)
@@ -9013,6 +9106,9 @@ export abstract class RenderTextureDrape implements IDisposable {
9013
9106
// @internal (undocumented)
9014
9107
export type RequestTileTreePropsFunc = (iModel: IModelConnection, treeId: string) => Promise<IModelTileTreeProps>;
9015
9108
9109
+ // @beta (undocumented)
9110
+ export type ResolveFunc = () => Promise<any>;
9111
+
9016
9112
// @internal
9017
9113
export type RootIModelTile = Tile & {
9018
9114
tileScreenSize: number;
@@ -11651,6 +11747,15 @@ export interface ToolAssistanceSection {
11651
11747
// @public (undocumented)
11652
11748
export type ToolList = ToolType[];
11653
11749
11750
+ // @beta (undocumented)
11751
+ export class ToolProvider implements UiItemsProvider {
11752
+ constructor(tool: ToolType);
11753
+ // (undocumented)
11754
+ readonly id: string;
11755
+ // (undocumented)
11756
+ provideToolbarButtonItems(_stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation): CommonToolbarItem[];
11757
+ }
11758
+
11654
11759
// @public
11655
11760
export class ToolRegistry {
11656
11761
create(toolId: string, ...args: any[]): Tool | undefined;
0 commit comments