export * from "./expose"; import * as Exposes from "./expose"; import * as Models from "internal/fx/models"; import { IExtend, ThemeDefinitionV2, WebComponentBundleManifest } from "./models"; interface IExtendApi { extendApi: (targetApi: (extend: IExtend) => Promise, callback?: (api: T) => void | Promise) => void; } declare module "@omnia/fx-models/Extends" { interface IOmniaFxApi { apis: typeof Exposes & IExtendApi; } } declare global { let omniaApi: IExtend; } export interface IWebComponentInstance { } export interface IWebComponentRegistrationHandler { (webComponentManifest: WebComponentBundleManifest): void; } export interface IConnectedWebComponent { setRegistrationHandler: (registrationHandler: IWebComponentRegistrationHandler) => void; addElementInstanceHandler: (instanceHandler: IWebComponentInstance, htmlElement: HTMLElement) => IWebComponentInstanceContext; getManifest: () => WebComponentBundleManifest; } export interface IWebComponentInstanceContext { getManifest: () => WebComponentBundleManifest; } export declare class WebComponentBootstrapper { static registerElement: (registrationHandler: IWebComponentRegistrationHandler) => void; static registerElementInstance(instanceHandler: IWebComponentInstance, htmlElement: HTMLElement | Element): IWebComponentInstanceContext; } export declare function extendApi(targetApi: (extend: IExtend) => Promise, callback?: (api: T) => void | Promise): void; export declare function setCurrentManifest(omniaServiceId: any, resourceId: any): { extendApi: (api: any, callback: any) => void; WebComponentBootstrapper: { registerElement: (registrationHandler: any) => void; registerElementInstance: (instanceHandler: any, htmlElement: any) => any; }; ImageProxyService: typeof Exposes.ImageProxyService; UserTypeStore: typeof Exposes.UserTypeStore; ReplaceToken: typeof Exposes.ReplaceToken; OmniaContextProvider: typeof Exposes.OmniaContextProvider; OmniaContext: typeof Exposes.OmniaContext; ContextProviderCollection: typeof Exposes.ContextProviderCollection; Extend: Models.IExtend; registerApi: typeof Exposes.registerApi; ManifestResourceLoader: typeof Exposes.ManifestResourceLoader; Provide(classType: any, constructorArgs?: T): any; useProvide(provide: TProvide, constructorArgs?: TConstructor): TProvide extends new (...args: any) => infer P ? P : TProvide extends Object ? TProvide : never; Inject(classType: any, constructorArgs?: T_1): any; useInject(classType: new (...args: any[]) => TClass, constructorArgs?: TConstructor_1): TClass; isInjectable(type: any): boolean; Injectable(options: Models.ActivationOptions): any; Cookies: typeof Exposes.Cookies; LocalStorage: typeof Exposes.LocalStorage; ServiceContainer: typeof Exposes.ServiceContainer; ServiceContainerContext: typeof Exposes.ServiceContainerContext; Encoder: typeof Exposes.Encoder; Require: typeof Exposes.Require; propertyPath: () => (propertyPathToCheck: Exposes.PropPathCheckTargetType) => string; propertyPathValue: (obj: T_3, path: Exposes.PropPathCheckTargetType>) => Exposes.PropPathType; SubscriptionHandler: typeof Exposes.SubscriptionHandler; MessageBusExposeOnlySubscription: typeof Exposes.MessageBusExposeOnlySubscription; MessageBusExposeOnlyPublication: typeof Exposes.MessageBusExposeOnlyPublication; MessageBusTopicMediator: typeof Exposes.MessageBusTopicMediator; Topics: typeof Exposes.Topics; useOmniaClient(serviceId?: Models.GuidValue): Exposes.HttpClient; HttpContextProviderCollection: typeof Exposes.HttpContextProviderCollection; HttpClient: typeof Exposes.HttpClient; useRequestAborter: () => { addRequest: (request: Models.Future) => Models.Future; abortRequests: () => void; }; MD5Util: typeof Exposes.MD5Util; WebUtils: typeof Exposes.WebUtils; Utils: typeof Exposes.Utils; AlternateLayoutTitleUtils: typeof Exposes.AlternateLayoutTitleUtils; ScrollPagingUtils: typeof Exposes.ScrollPagingUtils; EnterprisePropertyHandler: typeof Exposes.EnterprisePropertyHandler; MigrationUtils: typeof Exposes.MigrationUtils; UserAgentUtils: typeof Exposes.UserAgentUtils; Console: typeof Exposes.Console; ConsoleUIService: typeof Exposes.ConsoleUIService; ServiceLocator: typeof Exposes.ServiceLocator; ServiceManifestProvider: typeof Exposes.ServiceManifestProvider; NamedPropertyOperationsFactory: typeof Exposes.NamedPropertyOperationsFactory; IBusinessProfileFactory: typeof Exposes.IBusinessProfileFactory; OmniaPropertyBagBase: typeof Exposes.OmniaPropertyBagBase; BusinessProfilePropertyBagFactory: typeof Exposes.BusinessProfilePropertyBagFactory; BusinessProfilePathPropertyBagFactory: typeof Exposes.BusinessProfilePathPropertyBagFactory; AppRoutePropertyBagFactory: typeof Exposes.AppRoutePropertyBagFactory; TenantPropertyBagFactory: typeof Exposes.TenantPropertyBagFactory; ITenantFactory: typeof Exposes.ITenantFactory; ErrorBus: typeof Exposes.ErrorBus; UserPropertyBagFactory: typeof Exposes.UserPropertyBagFactory; IAppRouteFactory: typeof Exposes.IAppRouteFactory; TokenService: typeof Exposes.TokenService; AuthenticationSessionService: typeof Exposes.AuthenticationSessionService; GraphClient: typeof Exposes.GraphClient; VueWebComponentSlot: typeof Exposes.VueWebComponentSlot; Localize(namespace?: string): any; useLocalize(namespace: string): T_4; vueCustomElement(tag: string, componentDefinition: Exposes.ComponentDefinition | Exposes.ComponentDefinitionFunc, options?: Exposes.VueCustomElementOptions): HTMLElement; install(Vue: any): void; DisplayRules: typeof Exposes.DisplayRules; ApiHelper: typeof Exposes.ApiHelper; omniaScriptApi: Exposes.IOmniaScriptApi; }; declare global { namespace JSX { interface Element { [name: string]: any; } interface ElementClass { } interface IntrinsicElements { [name: string]: any; } } namespace VueTsxSupport.JSX { interface Element { } interface ElementClass { } interface IntrinsicElements { themeTargetId?: string; themeDefinitionId?: string; themeDefinition?: ThemeDefinitionV2; } } }