import { ServiceRef } from '../services/system/types'; /** * TODO * * @public */ export type ExtensionPoint = { id: string; /** * Utility for getting the type of the extension point, using `typeof extensionPoint.T`. * Attempting to actually read this value will result in an exception. */ T: T; toString(): string; $$type: '@backstage/ExtensionPoint'; }; /** * The callbacks passed to the `register` method of a backend plugin. * * @public */ export interface BackendPluginRegistrationPoints { registerExtensionPoint(ref: ExtensionPoint, impl: TExtensionPoint): void; registerInit(options: { deps: { [name in keyof Deps]: ServiceRef; }; init(deps: Deps): Promise; }): void; } /** * The callbacks passed to the `register` method of a backend module. * * @public */ export interface BackendModuleRegistrationPoints { registerExtensionPoint(ref: ExtensionPoint, impl: TExtensionPoint): void; registerInit(options: { deps: { [name in keyof Deps]: ServiceRef | ExtensionPoint; }; init(deps: Deps): Promise; }): void; }