/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */

import * as z from "zod/v4-mini";
import * as openEnums from "../../types/enums.js";
import { OpenEnum } from "../../types/enums.js";

export const Scope = {
  Openid: "openid",
  Profile: "profile",
  Email: "email",
  UserRead: "user:read",
  UserWrite: "user:write",
  OrganizationsRead: "organizations:read",
  OrganizationsWrite: "organizations:write",
  CustomFieldsRead: "custom_fields:read",
  CustomFieldsWrite: "custom_fields:write",
  DiscountsRead: "discounts:read",
  DiscountsWrite: "discounts:write",
  CheckoutLinksRead: "checkout_links:read",
  CheckoutLinksWrite: "checkout_links:write",
  CheckoutsRead: "checkouts:read",
  CheckoutsWrite: "checkouts:write",
  TransactionsRead: "transactions:read",
  TransactionsWrite: "transactions:write",
  PayoutsRead: "payouts:read",
  PayoutsWrite: "payouts:write",
  ProductsRead: "products:read",
  ProductsWrite: "products:write",
  BenefitsRead: "benefits:read",
  BenefitsWrite: "benefits:write",
  EventsRead: "events:read",
  EventsWrite: "events:write",
  MetersRead: "meters:read",
  MetersWrite: "meters:write",
  FilesRead: "files:read",
  FilesWrite: "files:write",
  SubscriptionsRead: "subscriptions:read",
  SubscriptionsWrite: "subscriptions:write",
  CustomersRead: "customers:read",
  CustomersWrite: "customers:write",
  MembersRead: "members:read",
  MembersWrite: "members:write",
  WalletsRead: "wallets:read",
  WalletsWrite: "wallets:write",
  DisputesRead: "disputes:read",
  DisputesWrite: "disputes:write",
  CustomerMetersRead: "customer_meters:read",
  CustomerSessionsWrite: "customer_sessions:write",
  MemberSessionsWrite: "member_sessions:write",
  CustomerSeatsRead: "customer_seats:read",
  CustomerSeatsWrite: "customer_seats:write",
  OrdersRead: "orders:read",
  OrdersWrite: "orders:write",
  RefundsRead: "refunds:read",
  RefundsWrite: "refunds:write",
  PaymentsRead: "payments:read",
  MetricsRead: "metrics:read",
  MetricsWrite: "metrics:write",
  WebhooksRead: "webhooks:read",
  WebhooksWrite: "webhooks:write",
  LicenseKeysRead: "license_keys:read",
  LicenseKeysWrite: "license_keys:write",
  CustomerPortalRead: "customer_portal:read",
  CustomerPortalWrite: "customer_portal:write",
  NotificationsRead: "notifications:read",
  NotificationsWrite: "notifications:write",
  NotificationRecipientsRead: "notification_recipients:read",
  NotificationRecipientsWrite: "notification_recipients:write",
  OrganizationAccessTokensRead: "organization_access_tokens:read",
  OrganizationAccessTokensWrite: "organization_access_tokens:write",
} as const;
export type Scope = OpenEnum<typeof Scope>;

/** @internal */
export const Scope$inboundSchema: z.ZodMiniType<Scope, unknown> = openEnums
  .inboundSchema(Scope);
