//#region src/utils/gcp-auth.d.ts
/**
 * GCP authentication utilities.
 *
 * Adapted from: https://github.com/kriasoft/web-auth-library
 * Original source: web-auth-library by Kriasoft
 * License: MIT (https://github.com/kriasoft/web-auth-library/blob/main/LICENSE)
 */
/**
 * Google Cloud Platform service account credentials interface.
 *
 * This interface represents the structure of a GCP service account key file,
 * which is used for authenticating with Google Cloud APIs. Service account
 * keys can be downloaded from the Google Cloud Console and contain all the
 * information needed to authenticate as a service account.
 *
 * @see https://cloud.google.com/iam/docs/creating-managing-service-account-keys
 */
interface GCPCredentials {
  /** The type of credential, typically "service_account" */
  type: string;
  /** The GCP project ID associated with this service account */
  project_id: string;
  /** The unique identifier for the private key */
  private_key_id: string;
  /** The RSA private key in PEM format used for signing JWTs */
  private_key: string;
  /** The unique client ID for this service account */
  client_id: string;
  /** The email address of the service account */
  client_email: string;
  /** The OAuth2 authorization endpoint URI */
  auth_uri: string;
  /** The OAuth2 token endpoint URI where access tokens are requested */
  token_uri: string;
  /** The URL for the OAuth2 provider's x509 certificate */
  auth_provider_x509_cert_url: string;
  /** The URL for this service account's x509 certificate */
  client_x509_cert_url: string;
}
//#endregion
export { GCPCredentials };
//# sourceMappingURL=gcp-auth.d.ts.map