@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
33 lines (32 loc) • 1.08 kB
TypeScript
import { ILinkHandlerProvider } from "../LinkHandler";
import { ApiPath } from "../Extends";
export interface ILinkHandlerApi {
registration: Promise<ILinkHandlerRegistrationApi>;
}
declare module "./UxApi" {
interface IOmniaUxApi {
linkHandler: ILinkHandlerApi;
}
interface IOmniaUxExtendApiManifest {
linkHandler: {
registration: ApiPath;
};
}
}
export interface ILinkHandlerRegistrationApi {
/**
* Register new link handler provider
* @example
* // Using `extendApi` from (at)omnia/fx
* extendApi(api => api.fx.ux.linkHandler.registration, api => {
api.registerLinkProvider(new YourProvider(someHandlerFunction));
});
* @param provider The provider, either a class or an array of `ILinkHandlerProvider`
*/
registerLinkProvider(provider: ILinkHandlerProvider | ILinkHandlerProvider[]): void;
/**
* Get all handlers
* @returns {ILinkHandlerProvider[]} Array of `ILinkHandlerProvider`
*/
getAllLinkHandlerProviders(): ILinkHandlerProvider[];
}