diff --git a/.changeset/slimy-socks-pump.md b/.changeset/slimy-socks-pump.md
new file mode 100644
index 0000000000..f7252340f1
--- /dev/null
+++ b/.changeset/slimy-socks-pump.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-tech-insights': patch
+---
+
+Export `techInsightsApiRef` and associated types.
diff --git a/plugins/tech-insights/api-report.md b/plugins/tech-insights/api-report.md
index e7f30a2b30..1849508f63 100644
--- a/plugins/tech-insights/api-report.md
+++ b/plugins/tech-insights/api-report.md
@@ -5,12 +5,49 @@
```ts
///
+import { ApiRef } from '@backstage/core-plugin-api';
import { BackstagePlugin } from '@backstage/core-plugin-api';
+import { CheckResult } from '@backstage/plugin-tech-insights-common';
+import { EntityName } from '@backstage/catalog-model';
+import { default as React_2 } from 'react';
import { RouteRef } from '@backstage/core-plugin-api';
+// @public
+export type Check = {
+ id: string;
+ type: string;
+ name: string;
+ description: string;
+ factIds: string[];
+};
+
+// @public
+export type CheckResultRenderer = {
+ type: string;
+ title: string;
+ description: string;
+ component: React_2.ReactElement;
+};
+
// @public (undocumented)
export const EntityTechInsightsScorecardContent: () => JSX.Element;
+// @public
+export interface TechInsightsApi {
+ // (undocumented)
+ getAllChecks(): Promise;
+ // (undocumented)
+ getScorecardsDefinition: (
+ type: string,
+ value: CheckResult[],
+ ) => CheckResultRenderer | undefined;
+ // (undocumented)
+ runChecks(entityParams: EntityName, checks?: Check[]): Promise;
+}
+
+// @public
+export const techInsightsApiRef: ApiRef;
+
// @public (undocumented)
export const techInsightsPlugin: BackstagePlugin<
{
diff --git a/plugins/tech-insights/package.json b/plugins/tech-insights/package.json
index efa5ac16ee..f8382984de 100644
--- a/plugins/tech-insights/package.json
+++ b/plugins/tech-insights/package.json
@@ -35,6 +35,7 @@
"react-use": "^17.2.4"
},
"peerDependencies": {
+ "@types/react": "^16.13.1 || ^17.0.0",
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
diff --git a/plugins/tech-insights/src/api/TechInsightsApi.ts b/plugins/tech-insights/src/api/TechInsightsApi.ts
index d3ff9ac2ff..6c5f272e7f 100644
--- a/plugins/tech-insights/src/api/TechInsightsApi.ts
+++ b/plugins/tech-insights/src/api/TechInsightsApi.ts
@@ -20,10 +20,20 @@ import { Check } from './types';
import { CheckResultRenderer } from '../components/CheckResultRenderer';
import { EntityName } from '@backstage/catalog-model';
+/**
+ * {@link @backstage/core-plugin-api#ApiRef} for the {@link TechInsightsApi}
+ *
+ * @public
+ */
export const techInsightsApiRef = createApiRef({
id: 'plugin.techinsights.service',
});
+/**
+ * API client interface for the Tech Insights plugin
+ *
+ * @public
+ */
export interface TechInsightsApi {
getScorecardsDefinition: (
type: string,
diff --git a/plugins/tech-insights/src/api/types.ts b/plugins/tech-insights/src/api/types.ts
index 20071ba0c9..10dfa06420 100644
--- a/plugins/tech-insights/src/api/types.ts
+++ b/plugins/tech-insights/src/api/types.ts
@@ -13,6 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
+/**
+ * Represents a single check defined on the TechInsights backend.
+ *
+ * @public
+ */
export type Check = {
id: string;
type: string;
diff --git a/plugins/tech-insights/src/components/CheckResultRenderer.tsx b/plugins/tech-insights/src/components/CheckResultRenderer.tsx
index 60e0fad9c5..d57d547384 100644
--- a/plugins/tech-insights/src/components/CheckResultRenderer.tsx
+++ b/plugins/tech-insights/src/components/CheckResultRenderer.tsx
@@ -18,6 +18,11 @@ import { CheckResult } from '@backstage/plugin-tech-insights-common';
import React from 'react';
import { BooleanCheck } from './BooleanCheck';
+/**
+ * Defines a react component that is responsible for rendering a results of a given type.
+ *
+ * @public
+ */
export type CheckResultRenderer = {
type: string;
title: string;
diff --git a/plugins/tech-insights/src/index.ts b/plugins/tech-insights/src/index.ts
index 273c11fd71..b59ac453ce 100644
--- a/plugins/tech-insights/src/index.ts
+++ b/plugins/tech-insights/src/index.ts
@@ -17,3 +17,8 @@ export {
techInsightsPlugin,
EntityTechInsightsScorecardContent,
} from './plugin';
+
+export { techInsightsApiRef } from './api/TechInsightsApi';
+export type { TechInsightsApi } from './api/TechInsightsApi';
+export type { Check } from './api/types';
+export type { CheckResultRenderer } from './components/CheckResultRenderer';