@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
30 lines (29 loc) • 1.6 kB
TypeScript
import { IWebComponentInstanceContext, IConnectedWebComponent, IWebComponentRegistrationHandler, IWebComponentInstance } from "./InternalWebComponentBootstrapper";
import { WebComponentBundleManifest } from "../../models";
export declare class WebComponentInstanceContext implements IWebComponentInstanceContext {
private instance;
getManifest: () => WebComponentBundleManifest;
constructor(instance: IWebComponentInstance, getManifest: () => WebComponentBundleManifest);
}
export declare class ConnectedWebComponent implements IConnectedWebComponent {
private webComponentManifest;
private registrationHandler;
instanceContexts: Array<WebComponentInstanceContext>;
constructor(webComponentManifest: WebComponentBundleManifest);
hasElementRegistrationHandler: () => boolean;
getManifest: () => WebComponentBundleManifest;
setRegistrationHandler: (registrationHandler: IWebComponentRegistrationHandler) => void;
executeElementRegistration: () => void;
addElementInstanceHandler: (instanceHandler: IWebComponentInstance, htmlElement: HTMLElement) => IWebComponentInstanceContext;
}
export interface IManifestMap {
[manifestId: string]: ConnectedWebComponent;
}
export interface IProxyOmniaServiceManifestMap {
[omniaServiceId: string]: IManifestMap;
}
export declare class PrivateBootstrapper {
private static ProxyHolder;
static newWebComponentProxy: (webComponentManifest: WebComponentBundleManifest) => ConnectedWebComponent;
static getWebComponentProxy: (webComponentManifest: WebComponentBundleManifest) => ConnectedWebComponent;
}