## API Report File for "@backstage/plugin-gcp-projects"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
/// <reference types="react" />

import { ApiRef } from '@backstage/core-plugin-api';
import { BackstagePlugin } from '@backstage/core-plugin-api';
import { OAuthApi } from '@backstage/core-plugin-api';
import { RouteRef } from '@backstage/core-plugin-api';

// Warning: (ae-missing-release-tag) "GcpApi" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type GcpApi = {
  listProjects(): Promise<Project[]>;
  getProject(projectId: string): Promise<Project>;
  createProject(options: {
    projectId: string;
    projectName: string;
  }): Promise<Operation>;
};

// Warning: (ae-missing-release-tag) "gcpApiRef" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const gcpApiRef: ApiRef<GcpApi>;

// Warning: (ae-missing-release-tag) "GcpClient" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class GcpClient implements GcpApi {
  constructor(googleAuthApi: OAuthApi);
  // (undocumented)
  createProject(options: {
    projectId: string;
    projectName: string;
  }): Promise<Operation>;
  // (undocumented)
  getProject(projectId: string): Promise<Project>;
  // (undocumented)
  getToken(): Promise<string>;
  // (undocumented)
  listProjects(): Promise<Project[]>;
}

// Warning: (ae-missing-release-tag) "GcpProjectsPage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const GcpProjectsPage: () => JSX.Element;

// Warning: (ae-missing-release-tag) "gcpProjectsPlugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
const gcpProjectsPlugin: BackstagePlugin<
  {
    root: RouteRef<undefined>;
  },
  {}
>;
export { gcpProjectsPlugin };
export { gcpProjectsPlugin as plugin };

// Warning: (ae-missing-release-tag) "Operation" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type Operation = {
  name: string;
  metadata: string;
  done: boolean;
  error: Status;
  response: string;
};

// Warning: (ae-missing-release-tag) "Project" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type Project = {
  name: string;
  projectNumber?: string;
  projectId: string;
  lifecycleState?: string;
  createTime?: string;
};

// Warning: (ae-missing-release-tag) "ProjectDetails" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ProjectDetails = {
  details: string;
};

// Warning: (ae-missing-release-tag) "Status" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type Status = {
  code: number;
  message: string;
  details: string[];
};
```
