message: core-api: add unused optional bindRoutes method to AppOptions
diff: import { ComponentType } from 'react';
  import { IconComponent, SystemIconKey, SystemIcons } from '../icons';
  -import { BackstagePlugin } from '../plugin';
  +import { BackstagePlugin, AnyExternalRoutes } from '../plugin';
  +import { RouteRef } from '../routing';
  import { AnyApiFactory } from '../apis';
  import { AppTheme, ProfileInfo } from '../apis/definitions';
  import { AppConfig } from '@backstage/config';
  @@ -78,6 +79,11 @@ export type AppComponents = {
  */
  export type AppConfigLoader = () => Promise<AppConfig[]>;
  +type BindRouteFunc = <T extends AnyExternalRoutes>(
  + externalRoutes: T,
  + targetRoutes: { [key in keyof T]: RouteRef<any> },
  +) => void;
  +
  export type AppOptions = {
  /**
  * A collection of ApiFactories to register in the application to either
  @@ -134,6 +140,26 @@ export type AppOptions = {
  * that was packaged by the backstage-cli and default docker container boot script.
  */
  configLoader?: AppConfigLoader;
  +
  + /**
  + * A function that is used to register associations between cross-plugin route
  + * references, enabling plugins to navigate between each other.
  + *
  + * The `bind` function that is passed in should be used to bind all external
  + * routes of all used plugins.
  + *
  + * ```ts
  + * bindRoutes({ bind }) {
  + * bind(docsPlugin.externalRoutes, {
  + * homePage: managePlugin.routes.managePage,
  + * })
  + * bind(homePagePlugin.externalRoutes, {
  + * settingsPage: settingsPlugin.routes.settingsPage,
  + * })
  + * }
  + * ```
  + */
  + bindRoutes?(context: { bind: BindRouteFunc }): void;
  };
  export type BackstageApp = {
  