import { b7 as GetPlanConfigurationConstraintsRequest$1, a as GetPlanConfigurationConstraintsResponse$1, bj as GetPlanPreviewRequest$1, c as GetPlanPreviewResponse$1, bk as ListPlanPreviewsRequest$1, e as ListPlanPreviewsResponse$1, bS as CreatePlanRequest$1, bT as CreatePlanResponse$1, bU as GetPlanRequest$1, bV as GetPlanResponse$1, bW as UpdatePlanRequest$1, bX as UpdatePlanResponse$1, bY as BulkUpdatePlansRequest$1, j as BulkUpdatePlansResponse$1, c1 as BulkUpdatePlanTagsRequest$1, m as BulkUpdatePlanTagsResponse$1, c3 as BulkUpdatePlanTagsByFilterRequest$1, p as BulkUpdatePlanTagsByFilterResponse$1, c4 as DeletePlanRequest$1, c5 as DeletePlanResponse$1, c6 as QueryPlansRequest$1, cc as QueryPlansResponse$1, cf as SearchPlansRequest$1, S as SearchPlansResponse$1, cR as CountPlansRequest$1, t as CountPlansResponse$1 } from './pricing-plans-v3-plan-plans-v-3.universal-CSm3CgP7.js'; import '@wix/sdk-types'; interface Plan { /** * Plan ID. * @format GUID * @readonly */ id?: string | null; /** * Revision number, which increments by 1 each time the plan is updated. * @readonly */ revision?: string | null; /** * Date and time the plan was created. * @readonly */ createdDate?: Date | null; /** * Date and time the plan was last updated. * @readonly */ updatedDate?: Date | null; /** * Plan name displayed to customers. * @minLength 1 * @maxLength 50 */ name?: string; /** * Plan description that explains what customers get with this plan. * @maxLength 450 */ description?: string | null; /** Plan image displayed during checkout and on the site's **Plans & Pricing** page. */ image?: Image; /** * Unique identifier for this plan within the Wix site. If not provided, generated automatically from the plan name. * @format URL_SLUG * @maxLength 255 */ slug?: string | null; /** * Terms and conditions text that customers must agree to when purchasing this plan. * @maxLength 3000 */ termsAndConditions?: string | null; /** * Deprecated. Use `purchase_limits` with `PER_MEMBER_LIFETIME` type instead. * Maximum number of times the same customer can purchase this plan. Use `0` for unlimited purchases or `1` to limit to one purchase per customer. * @max 10 * @deprecated Deprecated. Use `purchase_limits` with `PER_MEMBER_LIFETIME` type instead. * Maximum number of times the same customer can purchase this plan. Use `0` for unlimited purchases or `1` to limit to one purchase per customer. * @replacedBy purchase_limits * @targetRemovalDate 2026-11-30 */ maxPurchasesPerBuyer?: number; /** * Pricing variants that define different billing and pricing options for this plan. Currently limited to 1 variant per plan. * @minSize 1 * @maxSize 20 */ pricingVariants?: PricingVariant[]; /** * List of text snippets describing what the plan offers. For display purposes only. * @maxSize 500 */ perks?: Perk[]; /** Plan visibility. */ visibility?: VisibilityWithLiterals; /** Whether customers can currently purchase this plan. If set to `false`, customer won't be able to buy a plan themselves. In this case a Wix user has to assign the plan through the [dashboard](https://support.wix.com/en/article/pricing-plans-selling-plans-offline). */ buyable?: boolean; /** * ID of the form associated with the plan at checkout. * @format GUID */ formId?: string | null; /** Whether buyers can cancel their subscription to this plan. */ buyerCanCancel?: boolean; /** * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. * When the site currency changes, monetary amounts stored on the plan (prices, fees, and override amounts) * are automatically rounded to the number of decimal places supported by the new currency. * @readonly * @format CURRENCY */ currency?: string; /** * Caps how many subscriptions buyers can have or the site can sell for this plan. * When multiple types are present, all must pass (AND logic). * Duplicate types are rejected by the server. * @maxSize 4 */ purchaseLimits?: PurchaseLimit[]; /** The settings of the benefit distribution for subscriptions to this plan */ benefitDistributionSettings?: BenefitDistributionSettings; /** * Settings that control when subscriptions to this plan start. * Applied during purchase to calculate the subscription start date and validate customer-selected start dates. * The settings apply only to pricing variants with a compatible `billing_terms.start_type`: * `FIXED_DATE` and `DAY_OF_MONTH` apply to variants with the `ON_PURCHASE` start type, * while `DATE_RANGE` applies to variants with the `CUSTOM` start type. */ startDateSettings?: StartDateSettings; /** Tags that can be assigned to this plan for classification and filtering. */ tags?: Tags; /** Data extensions. Learn more about [extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions). */ extendedFields?: ExtendedFields; } interface Image { /** * WixMedia image ID. * @maxLength 255 */ id?: string; /** * Original image height. * @readonly */ height?: number; /** * Original image width. * @readonly */ width?: number; /** * Image alt text. * @maxLength 1000 */ altText?: string | null; } interface PricingVariant { /** * Pricing variant ID. * @format GUID */ id?: string; /** * Name for this pricing variant, such as "Monthly" or "Yearly". * @minLength 1 * @maxLength 255 */ name?: string; /** * Number of days customers can use the plan for free before the first charge. Set to `0` for no free trial. * @max 999 */ freeTrialDays?: number; /** * Additional fees applied to this pricing variant. * @maxSize 5 */ fees?: Fee[]; /** Billing configuration that defines when and how often customers are charged. */ billingTerms?: BillingTerms; /** * Promotional message displayed with this pricing variant. * @maxLength 255 */ promotion?: string | null; /** * Pricing strategies that determine how much customers pay. Currently limited to 1 strategy per variant. * @minSize 1 * @maxSize 1 */ pricingStrategies?: PricingStrategy[]; /** * Whether this pricing variant is visible to customers. Defaults to `true` when not set. * At least one variant per plan must remain visible. * Variant-level visibility is independent from plan-level visibility (`Plan.visibility`). */ visible?: boolean | null; /** * IDs of the categories this variant belongs to. Categories group variants across plans * (for example into a "Monthly / Yearly" selector) independently of billing cycle. Optional. * @format GUID * @maxSize 1 */ categoryIds?: string[]; /** * Rules that override this pricing variant's price for purchases that meet their conditions. * Applied during purchase. An override that matches the purchase always replaces the variant's original price, * even when the resulting price is higher. If multiple overrides match the same purchase, the lowest resulting * price among them wins - the original price doesn't participate in this comparison. * The overridden price applies to every billing cycle of the resulting subscription, not only the first payment. * Updates replace the entire list of overrides. To remove all overrides, set this field to `null` - * an empty overrides list isn't accepted. */ priceOverrides?: PriceOverrides; /** * Rules that override specific fees of this pricing variant for purchases that meet their conditions. * Applied during purchase. If multiple overrides apply to the same fee, the lowest resulting fee amount wins, with a waived fee counting as `0`. * Updates replace the entire list of overrides. To remove all overrides, set this field to `null` - * an empty overrides list isn't accepted. */ feeOverrides?: FeeOverrides; } interface FlatRate { /** * Fixed monetary amount. * @decimalValue options { gte:0, maxScale:4 } */ amount?: string; } /** At least one of custom_amount or predefined_amounts must be set. They can both be active simultaneously. */ interface CustomerChosenPrice { /** Option for customers to write the price they want themselves. */ customAmount?: CustomAmount; /** Option for customers to choose the price they want from predefined values. */ predefinedAmounts?: PredefinedAmounts; } interface CustomAmount { /** * The min value a customer can enter. * @decimalValue options { gte:0, maxScale:4 } * @minLength 1 */ minAmount?: string; /** * The max value a customer can enter. Setting this value is optional. * @decimalValue options { gte:0, maxScale:4 } */ maxAmount?: string | null; } interface PredefinedAmounts { /** * The predefined monetary amount that is chosen by default. Must be one of the values in amounts. Cannot be empty. * @decimalValue options { gte:0, maxScale:4 } * @minLength 1 */ defaultAmount?: string; /** * The predefined monetary amount values that customers can choose from. Cannot be empty. * @decimalValue options { gte:0, maxScale:4 } * @minSize 1 * @maxSize 10 */ amounts?: string[]; } interface Fee extends FeePriceOptionOneOf { /** Fixed monetary amount for the fee. */ fixedAmountOptions?: FixedAmountOption; /** @format GUID */ id?: string; /** Pricing type used for this fee. */ priceType?: PriceTypeWithLiterals; /** * Fee name displayed to customers, such as "Setup Fee" or "Processing Fee". * @minLength 1 * @maxLength 40 */ name?: string; /** When this fee is charged during the customer's plan lifecycle. */ appliedAt?: AppliedAtWithLiterals; } /** @oneof */ interface FeePriceOptionOneOf { /** Fixed monetary amount for the fee. */ fixedAmountOptions?: FixedAmountOption; } declare enum PriceType { /** Fee is charged as a fixed monetary amount. */ FIXED_AMOUNT = "FIXED_AMOUNT" } /** @enumType */ type PriceTypeWithLiterals = PriceType | 'FIXED_AMOUNT'; interface FixedAmountOption { /** * Fixed monetary amount. * @decimalValue options { gt:0, maxScale:4 } */ amount?: string; } declare enum AppliedAt { /** Fee is added to the first payment. */ FIRST_PAYMENT = "FIRST_PAYMENT" } /** @enumType */ type AppliedAtWithLiterals = AppliedAt | 'FIRST_PAYMENT'; interface BillingTerms extends BillingTermsEndOptionOneOf { /** How many billing cycles the plan lasts. */ cyclesCompletedDetails?: CyclesCompletedDetails; /** Duration of each billing cycle, such as 1 month or 2 weeks. Can't be less than 7 days. Only applicable for recurring plans. */ billingCycle?: V3Duration; /** When the billing starts. */ startType?: StartTypeWithLiterals; /** How long the plan remains active. Plans can run until canceled or for a specific number of billing cycles. Plan duration can't exceed 10 years. */ endType?: EndTypeWithLiterals; } /** @oneof */ interface BillingTermsEndOptionOneOf { /** How many billing cycles the plan lasts. */ cyclesCompletedDetails?: CyclesCompletedDetails; } interface V3Duration { /** Duration of period. */ period?: PeriodWithLiterals; /** * Number of periods. * @min 1 */ count?: string; } declare enum Period { DAY = "DAY", WEEK = "WEEK", MONTH = "MONTH", YEAR = "YEAR" } /** @enumType */ type PeriodWithLiterals = Period | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR'; declare enum StartType { /** Billing starts immediately after purchase. */ ON_PURCHASE = "ON_PURCHASE", /** Customer can choose when billing starts. */ CUSTOM = "CUSTOM" } /** @enumType */ type StartTypeWithLiterals = StartType | 'ON_PURCHASE' | 'CUSTOM'; declare enum EndType { /** Plan continues until customer cancels. */ UNTIL_CANCELLED = "UNTIL_CANCELLED", /** Plan ends after a specified number of billing cycles. */ CYCLES_COMPLETED = "CYCLES_COMPLETED" } /** @enumType */ type EndTypeWithLiterals = EndType | 'UNTIL_CANCELLED' | 'CYCLES_COMPLETED'; interface CyclesCompletedDetails { /** * Number of billing cycles before the plan automatically ends. For example, if `billingCycle` is 3 months and `billingCycleCount` is 4, the customer will be charged 4 times over 12 months before the plan expires. Only applicable if `endType` is `CYCLES_COMPLETED`. * @min 1 * @max 2000 */ billingCycleCount?: string; } interface PricingStrategy extends PricingStrategyStrategyOneOf { /** Single fixed cost charged regardless of usage. */ flatRate?: FlatRate; } /** @oneof */ interface PricingStrategyStrategyOneOf { /** Single fixed cost charged regardless of usage. */ flatRate?: FlatRate; } /** Price override rules of a pricing variant. */ interface PriceOverrides { /** * Price override rules. * @minSize 1 * @maxSize 10 */ overrides?: PriceOverride[]; } /** * Overrides the pricing variant's price for purchases that meet the specified conditions. * For example, a custom price for selected customers, a discount for returning customers, or a limited-time discount. */ interface PriceOverride extends PriceOverrideOverrideOptionOneOf { /** Options for the `FIXED_PRICE` override type. */ fixedPriceOptions?: FixedPriceOptions; /** Options for the `PERCENTAGE_DISCOUNT` override type. */ percentageDiscountOptions?: PercentageDiscountOptions; /** * Price override ID. Must be unique within the pricing variant. * @format GUID */ id?: string; /** Conditions a purchase must meet for this override to apply. */ conditions?: PurchaseConditions; /** How the pricing variant's price is overridden. */ overrideType?: PriceOverrideOverrideTypeWithLiterals; } /** @oneof */ interface PriceOverrideOverrideOptionOneOf { /** Options for the `FIXED_PRICE` override type. */ fixedPriceOptions?: FixedPriceOptions; /** Options for the `PERCENTAGE_DISCOUNT` override type. */ percentageDiscountOptions?: PercentageDiscountOptions; } /** Conditions a purchase must meet for an override to apply. All specified conditions must be met. */ interface PurchaseConditions extends PurchaseConditionsCustomerEligibilityOptionOneOf { /** Options for the `SPECIFIC_MEMBERS` customer eligibility. */ specificMembersOptions?: SpecificMembersOptions; /** Which customers the override applies to. */ customerEligibility?: CustomerEligibilityWithLiterals; /** * Date and time from which the override applies. The purchase must happen on or after this exact instant. * When `valid_until_date` is also set, must be earlier than `valid_until_date` - equal values are rejected. */ validFromDate?: Date | null; /** Date and time until which the override applies. The purchase must happen before this exact instant. */ validUntilDate?: Date | null; } /** @oneof */ interface PurchaseConditionsCustomerEligibilityOptionOneOf { /** Options for the `SPECIFIC_MEMBERS` customer eligibility. */ specificMembersOptions?: SpecificMembersOptions; } declare enum CustomerEligibility { /** The override applies to all customers. */ ALL = "ALL", /** * The override applies only to returning customers - members with at least 1 plan subscription on the site, * counted across all plans by the member's contact. Pending, active, paused, ended, and canceled subscriptions * count; draft subscriptions don't. */ RETURNING = "RETURNING", /** The override applies only to the specified members. */ SPECIFIC_MEMBERS = "SPECIFIC_MEMBERS" } /** @enumType */ type CustomerEligibilityWithLiterals = CustomerEligibility | 'ALL' | 'RETURNING' | 'SPECIFIC_MEMBERS'; interface SpecificMembersOptions { /** * IDs of the members the override applies to. The logged-in buyer must be one of these members. * @minSize 1 * @maxSize 50 * @format GUID */ memberIds?: string[]; } declare enum PriceOverrideOverrideType { /** The pricing variant's price is replaced with a fixed price. */ FIXED_PRICE = "FIXED_PRICE", /** The pricing variant's price is reduced by a percentage. */ PERCENTAGE_DISCOUNT = "PERCENTAGE_DISCOUNT" } /** @enumType */ type PriceOverrideOverrideTypeWithLiterals = PriceOverrideOverrideType | 'FIXED_PRICE' | 'PERCENTAGE_DISCOUNT'; interface FixedPriceOptions { /** * Price that replaces the pricing variant's original price. Can be higher than the original price. * @decimalValue options { gte:0, maxScale:4 } */ amount?: string; } interface PercentageDiscountOptions { /** * Percentage to deduct from the pricing variant's original price. For example, `12.5` for a 12.5% discount. * The discounted price is rounded to the number of decimal places supported by the plan's currency. * @decimalValue options { gt:0, lte:100, maxScale:2 } */ percentage?: string; } /** Fee override rules of a pricing variant. */ interface FeeOverrides { /** * Fee override rules. * @minSize 1 * @maxSize 10 */ overrides?: FeeOverride[]; } /** * Overrides a specific fee of the pricing variant for purchases that meet the specified conditions. * The override either replaces the fee's amount or removes the fee from the purchase entirely. * For example, a custom setup fee for selected customers. */ interface FeeOverride extends FeeOverrideOverrideOptionOneOf { /** Options for the `FIXED_AMOUNT` override type. */ fixedAmountOptions?: FixedAmountOptions; /** * Fee override ID. Must be unique within the pricing variant. * @format GUID */ id?: string; /** * ID of the fee on the same pricing variant that this override applies to. * @format GUID */ feeId?: string; /** Conditions a purchase must meet for this override to apply. */ conditions?: PurchaseConditions; /** How the fee is overridden. */ overrideType?: OverrideTypeWithLiterals; } /** @oneof */ interface FeeOverrideOverrideOptionOneOf { /** Options for the `FIXED_AMOUNT` override type. */ fixedAmountOptions?: FixedAmountOptions; } declare enum OverrideType { /** The fee's amount is replaced with a fixed amount. */ FIXED_AMOUNT = "FIXED_AMOUNT", /** The fee isn't applied to the purchase at all. */ WAIVED = "WAIVED" } /** @enumType */ type OverrideTypeWithLiterals = OverrideType | 'FIXED_AMOUNT' | 'WAIVED'; interface FixedAmountOptions { /** * Amount that replaces the fee's original amount. * Must be greater than `0`. To remove the fee from the purchase, use the `WAIVED` override type instead. * @decimalValue options { gt:0, maxScale:4 } */ amount?: string; } interface Perk { /** * Perk ID. * @format GUID */ id?: string; /** * Perk description. * @minLength 1 * @maxLength 1400 */ description?: string; } declare enum Visibility { /** Plan is visible and available for purchase by all customers. */ PUBLIC = "PUBLIC", /** Plan isn't visible to new customers unless they get a specific link to the plan. Existing buyers can continue using it. */ PRIVATE = "PRIVATE" } /** @enumType */ type VisibilityWithLiterals = Visibility | 'PUBLIC' | 'PRIVATE'; declare enum Status { ACTIVE = "ACTIVE" } /** @enumType */ type StatusWithLiterals = Status | 'ACTIVE'; interface TermsAndConditionsSettings { /** Whether customers must accept terms and conditions before purchasing. */ acceptRequired?: boolean; /** Whether the terms and conditions checkbox is checked by default. */ acceptedByDefault?: boolean; } interface ThankYouPageSettings { /** * Thank you page title * @maxLength 100 */ title?: string; /** * Thank you page message * @maxLength 100000 */ message?: string; /** * Thank you page button text * @maxLength 40 */ buttonText?: string; /** * Thank you page button link * @maxLength 200 */ buttonLink?: string | null; } interface PurchaseLimit { /** The type of purchase limit. */ type?: PurchaseLimitTypeWithLiterals; /** * The maximum number of subscriptions allowed. * @min 1 * @max 10000 */ maxCount?: number; } /** Supported purchase limit types. Each type caps subscriptions along a different dimension. */ declare enum PurchaseLimitType { /** Limits the total number of subscriptions (any status) a single member can have over their lifetime. */ PER_MEMBER_LIFETIME = "PER_MEMBER_LIFETIME", /** Limits the number of ongoing (ACTIVE, PENDING, PAUSED) subscriptions a single member can have at any time. */ PER_MEMBER_ACTIVE = "PER_MEMBER_ACTIVE", /** Limits the total number of ongoing (ACTIVE, PENDING, PAUSED) subscriptions across all members at any time. */ TOTAL_ACTIVE = "TOTAL_ACTIVE", /** Limits the total number of subscriptions ever created (any status) across all members. */ TOTAL_SOLD = "TOTAL_SOLD" } /** @enumType */ type PurchaseLimitTypeWithLiterals = PurchaseLimitType | 'PER_MEMBER_LIFETIME' | 'PER_MEMBER_ACTIVE' | 'TOTAL_ACTIVE' | 'TOTAL_SOLD'; interface BenefitDistributionSettings extends BenefitDistributionSettingsDistributionStrategyOneOf { /** Custom schedule */ customScheduleOptions?: CustomScheduleOptions; /** The distribution strategy of the benefits for this subscription, which is used to determine how the benefits are distributed in each cycle. */ distributionStrategyType?: DistributionStrategyTypeWithLiterals; } /** @oneof */ interface BenefitDistributionSettingsDistributionStrategyOneOf { /** Custom schedule */ customScheduleOptions?: CustomScheduleOptions; } declare enum DurationUnit { UNKNOWN = "UNKNOWN", DAY = "DAY", WEEK = "WEEK", MONTH = "MONTH", YEAR = "YEAR" } /** @enumType */ type DurationUnitWithLiterals = DurationUnit | 'UNKNOWN' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR'; interface Duration { /** Duration unit: DAY, WEEK, MONTH, YEAR */ unit?: DurationUnitWithLiterals; /** * Amount of units. For example, 1 MONTH, 1 YEAR, 2 WEEKS, etc. Optional. Default is 1. * @min 1 */ count?: number | null; } declare enum DistributionStrategyType { UNKNOWN_DISTRIBUTION_STRATEGY_TYPE = "UNKNOWN_DISTRIBUTION_STRATEGY_TYPE", PER_BILLING_CYCLE = "PER_BILLING_CYCLE", CUSTOM_SCHEDULE = "CUSTOM_SCHEDULE" } /** @enumType */ type DistributionStrategyTypeWithLiterals = DistributionStrategyType | 'UNKNOWN_DISTRIBUTION_STRATEGY_TYPE' | 'PER_BILLING_CYCLE' | 'CUSTOM_SCHEDULE'; interface CustomScheduleOptions { /** Cycle duration */ cycleDuration?: Duration; } /** * Settings that control when subscriptions to a plan start. * Complements `BillingTerms.start_type`, which determines who chooses the start date: * the system (`ON_PURCHASE`) or the customer (`CUSTOM`). These settings define how the system * calculates the start date (`FIXED_DATE`, `DAY_OF_MONTH`) or which dates the customer can select (`DATE_RANGE`). */ interface StartDateSettings extends StartDateSettingsStartDateOptionOneOf { /** Subscription starts on the earliest of the configured fixed dates that hasn't passed. */ fixedDateOptions?: FixedDateOptions; /** Subscription starts on a specific day of each month. */ dayOfMonthOptions?: DayOfMonthOptions; /** Customer selects a start date within a date range. */ dateRangeOptions?: DateRangeOptions; /** How the subscription start date is determined. */ type?: StartDateTypeWithLiterals; /** * Message displayed to customers when no start date is available. For example, when every fixed start date or the end of the date range has passed. * Applicable only when `type` is `FIXED_DATE`, or `DATE_RANGE` with `date_range_options.end_date` set - * in other configurations a start date is always available and the message is ignored. * @minLength 1 * @maxLength 512 */ startDateUnavailableMessage?: string | null; } /** @oneof */ interface StartDateSettingsStartDateOptionOneOf { /** Subscription starts on the earliest of the configured fixed dates that hasn't passed. */ fixedDateOptions?: FixedDateOptions; /** Subscription starts on a specific day of each month. */ dayOfMonthOptions?: DayOfMonthOptions; /** Customer selects a start date within a date range. */ dateRangeOptions?: DateRangeOptions; } declare enum StartDateType { /** * Subscription starts on the earliest of the configured fixed dates that hasn't passed. * Applies only to pricing variants with the `ON_PURCHASE` start type. */ FIXED_DATE = "FIXED_DATE", /** * Subscription starts on a specific day of each month. * Applies only to pricing variants with the `ON_PURCHASE` start type. */ DAY_OF_MONTH = "DAY_OF_MONTH", /** * Customer selects a start date within a date range. * Applies only to pricing variants with the `CUSTOM` start type. */ DATE_RANGE = "DATE_RANGE" } /** @enumType */ type StartDateTypeWithLiterals = StartDateType | 'FIXED_DATE' | 'DAY_OF_MONTH' | 'DATE_RANGE'; interface FixedDateOptions { /** * Dates on which a subscription can start. A purchase starts the subscription on the earliest * listed date that hasn't passed in the site's time zone. A purchase made on one of the dates * starts the subscription immediately. When every date has passed the plan can't be purchased * and `start_date_unavailable_message` is displayed. Only the calendar date in the site's time * zone is used, the time of day is ignored. Order doesn't matter. Dates must be unique. * @maxSize 5 */ startDates?: Date[] | null; } interface DayOfMonthOptions { /** * Day of the month the subscription starts. For months with fewer days, the subscription starts on the last day of the month. * If the purchase happens on the configured day, the subscription starts on that same day. * Only determines the subscription start date - subsequent billing cycles follow the * pricing variant's `billing_terms.billing_cycle` from that start date. * @min 1 * @max 31 */ dayOfMonth?: number; } interface DateRangeOptions { /** * Date and time from which the customer can select the subscription start date. * The selected start date must be on or after this exact instant. */ startDate?: Date | null; /** * Date and time until which the customer can select the subscription start date. If not set, the range is open-ended. * The selected start date must be before this exact instant. * Must be later than `start_date`. */ endDate?: Date | null; } /** * Common object for tags. * Should be used as in this example: * message Foo { * string id = 1; * ... * Tags tags = 5 * } * * example of taggable entity * { * id: "123" * tags: { * public_tags: { * tag_ids:["11","22"] * }, * private_tags: { * tag_ids: ["33", "44"] * } * } * } */ interface Tags { /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */ privateTags?: TagList; /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */ publicTags?: TagList; } interface TagList { /** * List of tag IDs * @maxSize 100 * @maxLength 5 */ tagIds?: string[]; } interface ExtendedFields { /** * Extended field data. Each key corresponds to the namespace of the app that created the extended fields. * The value of each key is structured according to the schema defined when the extended fields were configured. * * You can only access fields for which you have the appropriate permissions. * * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields). */ namespaces?: Record>; } interface PlanTranslated { /** The translated plan. */ plan?: Plan; /** * The language code of the translation. * @maxLength 20 * @format LANGUAGE_TAG */ language?: string; } interface PlanTranslationDeleted { /** * The ID of the plan. * @format GUID */ planId?: string; /** * The language code of the translation. * @maxLength 20 * @format LANGUAGE_TAG */ language?: string; } interface PlanTagsModified { /** The plan whose tags were modified. */ plan?: Plan; /** Tags assigned to the plan. */ assignedTags?: Tags; /** Tags unassigned from the plan. */ unassignedTags?: Tags; } interface ValidateOptionsRequest { /** * The plan id, which corresponds to catalogItemId in catalog item reference * @format GUID */ planId?: string; /** The specific options selected for this plan */ options?: Options; /** * The id of the member buying the plan * @format GUID */ memberId?: string; } /** * The choices a buyer makes about a plan, carried in the `options` field of an eCommerce line item's * `catalogReference`. * * `catalogReference.appId` must be the Wix Pricing Plans app ID `1522827f-c56c-a5c9-2ac9-00f9e6ae12d3` * and `catalogReference.catalogItemId` must be the plan ID. Wix Pricing Plans reads this object to price * and validate the line item. */ interface Options extends OptionsOptionsOneOf { /** Options for buying a plan. Applies when `type` is `PLAN`. */ planOptions?: PlanOptions; /** What the buyer is purchasing. Determines which options object below applies. */ type?: TypeWithLiterals; } /** @oneof */ interface OptionsOptionsOneOf { /** Options for buying a plan. Applies when `type` is `PLAN`. */ planOptions?: PlanOptions; } declare enum Type { /** Buying a plan. Set `planOptions`. */ PLAN = "PLAN" } /** @enumType */ type TypeWithLiterals = Type | 'PLAN'; interface PlanOptions extends PlanOptionsPricingStrategyOptionsOneOf { /** * ID of the pricing variant the buyer selected, from the plan's `pricingVariants`. * * Required. This is how you choose between a plan's billing options, for example monthly versus yearly. * A catalog reference whose variant ID isn't on the plan fails to add to the cart with ITEM_NOT_FOUND_IN_CATALOG. * @format GUID */ pricingVariantId?: string; /** * Date the subscription should start. * * Set this only when the selected pricing variant's `billingTerms.startType` is `CUSTOM`, which means the * plan lets the buyer choose when billing begins. The merchant can restrict that choice to a date range, * and a date outside it is rejected at checkout with a `start-date-not-in-permitted-range` violation. * * When `startType` is `ON_PURCHASE`, Wix works the start date out from the plan's own settings. If those * don't produce one, a value set here is used as a fallback. */ startDate?: Date | null; /** * ID of the Wix Forms submission the buyer filled in alongside the purchase, if the plan collects one. * @format GUID */ submissionId?: string | null; /** * How the plan is being bought. * * Leave this unset for a storefront purchase the buyer makes themselves. An unset value behaves as * `ONLINE`. Set `MANUAL` for an order the site owner records on the buyer's behalf. See `MANUAL`. */ purchaseFlow?: PurchaseFlowWithLiterals; } /** @oneof */ interface PlanOptionsPricingStrategyOptionsOneOf { } declare enum TaxableAddress { /** Tax is calculated from the buyer's billing address. */ BILLING = "BILLING", /** Tax is calculated from the site's business address. */ BUSINESS = "BUSINESS" } /** @enumType */ type TaxableAddressWithLiterals = TaxableAddress | 'BILLING' | 'BUSINESS'; declare enum ValidationStrategy { /** * Reduced rule set for a purchase made on a buyer's behalf: checks only that the plan is * active and that the free trial still applies. Requires additional permission for managing purchases on * behalf of members. */ ON_BEHALF = "ON_BEHALF", /** Reduced rule set for previewing a purchase: checks only purchase limits and free trial applicability. */ PREVIEW = "PREVIEW" } /** @enumType */ type ValidationStrategyWithLiterals = ValidationStrategy | 'ON_BEHALF' | 'PREVIEW'; declare enum PurchaseFlow { /** * A purchase the site owner records on the buyer's behalf, rather than one the buyer makes themselves. * `start_date` is used as passed, without the plan's start date rules. * * Requires the Pricing Plans Manage Orders scope (`SCOPE.DC-PAIDPLANS.MANAGE-ORDERS`). Without it, the * purchase is treated as `ONLINE`. */ MANUAL = "MANUAL", /** A purchase the buyer makes themselves on the site. Use this for a storefront purchase. */ ONLINE = "ONLINE" } /** @enumType */ type PurchaseFlowWithLiterals = PurchaseFlow | 'MANUAL' | 'ONLINE'; declare enum PricingStrategyType { /** this is the default and should behave identically to flat rate for backwards compatibility */ UNKNOWN_PRICING_STRATEGY_TYPE = "UNKNOWN_PRICING_STRATEGY_TYPE", FLAT_RATE = "FLAT_RATE", CUSTOMER_CHOSEN_PRICE = "CUSTOMER_CHOSEN_PRICE" } /** @enumType */ type PricingStrategyTypeWithLiterals = PricingStrategyType | 'UNKNOWN_PRICING_STRATEGY_TYPE' | 'FLAT_RATE' | 'CUSTOMER_CHOSEN_PRICE'; interface CustomerChosenPriceOptions { /** * Amount the customer chose to pay. * @decimalValue options { gte:0, maxScale:4 } * @minLength 1 */ amount?: string; } declare enum FreeTrialPolicy { /** * Sell the plan without its free trial, even when the buyer is eligible for it. Requires additional * permission for managing purchases on behalf of members. */ SKIP_FREE_TRIAL = "SKIP_FREE_TRIAL" } /** @enumType */ type FreeTrialPolicyWithLiterals = FreeTrialPolicy | 'SKIP_FREE_TRIAL'; interface ValidateOptionsResponse { /** Description of value */ violations?: Violation[]; } /** A reason a plan can't be bought with the given options. */ interface Violation { /** * Machine-readable reason the purchase is blocked. One of: * * Plan availability: * - `plan-not-active`: the plan is archived. * - `pricing-variant-not-found`: `pricingVariantId` isn't one of the plan's variants. * - `purchase-method-not-allowed`: the site can't sell plans through this flow. * - `buyer-email-not-supported`: the buyer's email address can't be used for a plan purchase. * * Purchase limits: * - `max-purchases-exceeded`: the buyer may buy this plan only once and already has. * - `per-member-lifetime-limit-exceeded`: the buyer reached the plan's lifetime purchase limit. * - `per-member-active-limit-exceeded`: the buyer reached the plan's limit on simultaneously active subscriptions. * - `total-active-limit-exceeded`: the plan reached its site-wide limit on active subscriptions. * - `total-sold-limit-exceeded`: the plan is sold out. * * Start date: * - `start-date-in-past`: the requested start date has already passed. * - `start-date-not-applicable`: the plan doesn't accept a start date. * - `start-date-not-in-permitted-range`: the requested start date falls outside the plan's permitted range. * - `start-date-rules-not-applicable`: the requested start date doesn't match the plan's start date rules. * - `start-date-availability-changed`: the requested start date is no longer available and has moved. * * Free trial: * - `free-trial-not-applicable`: the buyer already used this plan's free trial, so they're billed from the start. * @minLength 1 * @maxLength 50 */ code?: string; /** * Message describing the violation, translated into the site visitor's language and safe to show to the buyer. * @minLength 1 * @maxLength 255 */ message?: string; } interface GetPlanConfigurationConstraintsRequest { /** * The plan id, which corresponds to catalogItemId in catalog item reference * @format GUID */ planId: string; /** * Deprecated. Constraints are resolved at plan level, pricing variant is ignored. * @deprecated Deprecated. Constraints are resolved at plan level, pricing variant is ignored. * @targetRemovalDate 2026-11-30 */ pricingVariantId?: string; /** * The id of the member the constraints are resolved for. * Member is resolved from the calling identity if not provided. * @format GUID */ memberId?: string | null; } interface GetPlanConfigurationConstraintsResponse { /** Start date limits. */ startDateLimits?: StartDateLimits; /** Start date rules. */ startDateRules?: StartDateRules; } interface StartDateLimits { /** * Earliest date the customer can select as the start date * @format LOCAL_DATE */ earliestDate?: string | null; /** * Latest date the customer can select as the start date * @format LOCAL_DATE */ latestDate?: string | null; /** * Error message to display if the purchase date is greater than date_to * @minLength 1 * @maxLength 255 */ errorMessage?: string | null; } interface StartDateRules extends StartDateRulesDateRulesOneOf { /** Plan start date is limited to specific fixed dates */ fixedDatesOptions?: FixedDatesOptions; /** Plan start date is limited to specific dates that repeat */ recurrenceOptions?: RecurrenceOptions; /** Rules type */ type?: RulesTypeWithLiterals; /** * Error message to show the user if the rules are not applicable based on purchase date * @minLength 1 * @maxLength 255 */ errorMessage?: string | null; } /** @oneof */ interface StartDateRulesDateRulesOneOf { /** Plan start date is limited to specific fixed dates */ fixedDatesOptions?: FixedDatesOptions; /** Plan start date is limited to specific dates that repeat */ recurrenceOptions?: RecurrenceOptions; } declare enum RulesType { AVAILABLE_IMMEDIATELY = "AVAILABLE_IMMEDIATELY", FIXED_DATES = "FIXED_DATES", RECURRENCE = "RECURRENCE" } /** @enumType */ type RulesTypeWithLiterals = RulesType | 'AVAILABLE_IMMEDIATELY' | 'FIXED_DATES' | 'RECURRENCE'; interface FixedDatesOptions { /** * Dates when the plan can start * @format LOCAL_DATE * @minSize 1 * @maxSize 1000 */ dates?: string[]; } interface RecurrenceOptions extends RecurrenceOptionsRecurrenceOneOf { /** Weekly recurrence */ weeklyOptions?: WeeklyRecurrence; /** Monthly recurrence */ monthlyOptions?: MonthlyRecurrence; /** * Start date of the recurrence pattern. Required. * @format LOCAL_DATE */ startDate?: string; /** * End date of the recurrence pattern. If not provided, it is infinite. * @format LOCAL_DATE */ endDate?: string | null; /** * How often to repeat (every X weeks/months) * @min 1 * @max 100 */ interval?: number; /** Recurrence pattern */ recurrenceType?: RecurrenceTypeWithLiterals; } /** @oneof */ interface RecurrenceOptionsRecurrenceOneOf { /** Weekly recurrence */ weeklyOptions?: WeeklyRecurrence; /** Monthly recurrence */ monthlyOptions?: MonthlyRecurrence; } declare enum RecurrenceType { WEEKLY = "WEEKLY", MONTHLY = "MONTHLY" } /** @enumType */ type RecurrenceTypeWithLiterals = RecurrenceType | 'WEEKLY' | 'MONTHLY'; interface WeeklyRecurrence { /** Day of the week */ weekday?: V1DayOfWeekWithLiterals; } declare enum V1DayOfWeek { SUNDAY = "SUNDAY", MONDAY = "MONDAY", TUESDAY = "TUESDAY", WEDNESDAY = "WEDNESDAY", THURSDAY = "THURSDAY", FRIDAY = "FRIDAY", SATURDAY = "SATURDAY" } /** @enumType */ type V1DayOfWeekWithLiterals = V1DayOfWeek | 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY'; interface MonthlyRecurrence { /** * Day of the month * @min 1 * @max 31 */ dayOfMonth?: number; } interface ListPlanConfigurationConstraintsRequest { /** * Plan IDs to retrieve configuration constraints for. * @maxSize 100 * @format GUID */ planIds?: string[]; /** * The id of the member the constraints are resolved for. * Member is resolved from the calling identity if not provided. * @format GUID */ memberId?: string | null; } interface ListPlanConfigurationConstraintsResponse { /** * Plan configuration constraints. * @maxSize 100 */ constraints?: PlanConstraintsResult[]; } interface PlanConstraintsResult { /** * The plan id, which corresponds to catalogItemId in catalog item reference. * @format GUID */ planId?: string; /** Start date limits. */ startDateLimits?: StartDateLimits; /** Start date rules. */ startDateRules?: StartDateRules; } interface GetPlanPreviewRequest { /** * ID of the plan to preview. Corresponds to `catalogReference.catalogItemId`. * @format GUID */ planId: string; /** * ID of the pricing variant to apply member-specific pricing to. * @format GUID */ pricingVariantId: string; /** * ID of the member to resolve pricing for. Defaults to the calling identity. * Passing another member's ID requires additional permission for managing purchases on behalf of members. * @format GUID */ memberId?: string | null; } interface GetPlanPreviewResponse { /** The plan, with price and fee overrides applied to the selected pricing variant. */ plan?: Plan; } interface ListPlanPreviewsRequest { /** * Plan selectors to retrieve plan previews for. * * Several selectors may reference the same plan to select more than one of its variants. * @minSize 1 * @maxSize 100 */ planSelectors?: PlanPreviewSelector[]; /** * The id of the member the previews are resolved for. * Member is resolved from the calling identity if not provided. * @format GUID */ memberId?: string | null; } interface PlanPreviewSelector { /** * The plan id, which corresponds to catalogItemId in catalog item reference. * @format GUID */ planId?: string; /** * The selected pricing variant for the plan. If not provided, overrides are resolved for all variants. * @format GUID */ variantId?: string | null; } interface ListPlanPreviewsResponse { /** * Plan previews with pricing overrides applied. A single plan is returned per plan id, * even when the request contained several selectors for that plan. * * Which variants have overrides applied depends on the selectors: * - If variant_id was provided: only the selected variants have overrides, others keep original prices. * - If variant_id was provided but the plan has no such variant: the plan keeps original prices. * - If variant_id was not provided: all variants have overrides applied if present. * @maxSize 100 */ plans?: Plan[]; } /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */ interface SitePropertiesNotification { /** The site ID for which this update notification applies. */ metasiteId?: string; /** The actual update event. */ event?: SitePropertiesEvent; /** * A convenience set of mappings from the MetaSite ID to its constituent services. * @maxSize 500 */ translations?: Translation[]; /** Context of the notification */ changeContext?: ChangeContext; } /** The actual update event for a particular notification. */ interface SitePropertiesEvent { /** Version of the site's properties represented by this update. */ version?: number; /** Set of properties that were updated - corresponds to the fields in "properties". */ fields?: string[]; /** Updated properties. */ properties?: Properties; } interface Properties { /** Site categories. */ categories?: Categories; /** Site locale. */ locale?: Locale; /** * Site language. * * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */ language?: string | null; /** * Site currency used to bill customers. * * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */ paymentCurrency?: string | null; /** Site time zone in IANA time zone database format. For example, `America/New_York`. */ timeZone?: string | null; /** Email address. */ email?: string | null; /** Phone number. */ phone?: string | null; /** Fax number. */ fax?: string | null; /** Address. */ address?: Address; /** Site display name. */ siteDisplayName?: string | null; /** Business name. */ businessName?: string | null; /** Path to the site's logo in Wix Media (without Wix Media base URL). */ logo?: string | null; /** Site description. */ description?: string | null; /** * Business schedule. Regular and exceptional time periods when the business is open or the service is available. * * __Note:__ Not supported by Wix Bookings. */ businessSchedule?: BusinessSchedule; /** Supported languages of a site and the primary language. */ multilingual?: Multilingual; /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */ consentPolicy?: ConsentPolicy; /** * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`. * * Site business type. */ businessConfig?: string | null; /** External site URL that uses Wix as its headless business solution. */ externalSiteUrl?: string | null; /** Track clicks analytics. */ trackClicksAnalytics?: boolean; /** * Company ID issued to the business by local authorities. Appears on invoices and price quotes. * @maxLength 50 */ companyId?: string | null; } interface Categories { /** Primary site category. */ primary?: string; /** * Secondary site category. * @maxSize 50 */ secondary?: string[]; /** Business Term Id */ businessTermId?: string | null; } interface Locale { /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */ languageCode?: string; /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */ country?: string; } interface Address { /** Street name. */ street?: string; /** City name. */ city?: string; /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */ country?: string; /** State. */ state?: string; /** * Zip or postal code. * @maxLength 20 */ zip?: string; /** Extra information to be displayed in the address. */ hint?: AddressHint; /** Whether this address represents a physical location. */ isPhysical?: boolean; /** Google-formatted version of this address. */ googleFormattedAddress?: string; /** Street number. */ streetNumber?: string; /** Apartment number. */ apartmentNumber?: string; /** Geographic coordinates of location. */ coordinates?: GeoCoordinates; } /** * Extra information on displayed addresses. * This is used for display purposes. Used to add additional data about the address, such as "In the passage". * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string. */ interface AddressHint { /** Extra text displayed next to, or instead of, the actual address. */ text?: string; /** Where the extra text should be displayed. */ placement?: PlacementTypeWithLiterals; } /** Where the extra text should be displayed: before, after or instead of the actual address. */ declare enum PlacementType { BEFORE = "BEFORE", AFTER = "AFTER", REPLACE = "REPLACE" } /** @enumType */ type PlacementTypeWithLiterals = PlacementType | 'BEFORE' | 'AFTER' | 'REPLACE'; /** Geocoordinates for a particular address. */ interface GeoCoordinates { /** Latitude of the location. Must be between -90 and 90. */ latitude?: number; /** Longitude of the location. Must be between -180 and 180. */ longitude?: number; } /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */ interface BusinessSchedule { /** * Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. * @maxSize 100 */ periods?: TimePeriod[]; /** * Exceptions to the business's regular hours. The business can be open or closed during the exception. * @maxSize 100 */ specialHourPeriod?: SpecialHourPeriod[]; } /** Weekly recurring time periods when the business is regularly open or the service is available. */ interface TimePeriod { /** Day of the week the period starts on. */ openDay?: DayOfWeekWithLiterals; /** * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents * midnight at the end of the specified day. */ openTime?: string; /** Day of the week the period ends on. */ closeDay?: DayOfWeekWithLiterals; /** * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents * midnight at the end of the specified day. * * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`. */ closeTime?: string; } /** Enumerates the days of the week. */ declare enum DayOfWeek { MONDAY = "MONDAY", TUESDAY = "TUESDAY", WEDNESDAY = "WEDNESDAY", THURSDAY = "THURSDAY", FRIDAY = "FRIDAY", SATURDAY = "SATURDAY", SUNDAY = "SUNDAY" } /** @enumType */ type DayOfWeekWithLiterals = DayOfWeek | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY'; /** Exception to the business's regular hours. The business can be open or closed during the exception. */ interface SpecialHourPeriod { /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */ startDate?: string; /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */ endDate?: string; /** * Whether the business is closed (or the service is not available) during the exception. * * Default: `true`. */ isClosed?: boolean; /** Additional info about the exception. For example, "We close earlier on New Year's Eve." */ comment?: string; } interface Multilingual { /** * Supported languages list. * @maxSize 200 */ supportedLanguages?: SupportedLanguage[]; /** Whether to redirect to user language. */ autoRedirect?: boolean; } interface SupportedLanguage { /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */ languageCode?: string; /** Locale. */ locale?: Locale; /** Whether the supported language is the primary language for the site. */ isPrimary?: boolean; /** Language icon. */ countryCode?: string; /** How the language will be resolved. For internal use. */ resolutionMethod?: ResolutionMethodWithLiterals; /** Whether the supported language is the primary language for site visitors. */ isVisitorPrimary?: boolean | null; } declare enum ResolutionMethod { QUERY_PARAM = "QUERY_PARAM", SUBDOMAIN = "SUBDOMAIN", SUBDIRECTORY = "SUBDIRECTORY" } /** @enumType */ type ResolutionMethodWithLiterals = ResolutionMethod | 'QUERY_PARAM' | 'SUBDOMAIN' | 'SUBDIRECTORY'; interface ConsentPolicy { /** Whether the site uses cookies that are essential to site operation. Always `true`. */ essential?: boolean | null; /** Whether the site uses cookies that affect site performance and other functional measurements. */ functional?: boolean | null; /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */ analytics?: boolean | null; /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */ advertising?: boolean | null; /** CCPA compliance flag. */ dataToThirdParty?: boolean | null; } /** A single mapping from the MetaSite ID to a particular service. */ interface Translation { /** The service type. */ serviceType?: string; /** The application definition ID; this only applies to services of type ThirdPartyApps. */ appDefId?: string; /** The instance ID of the service. */ instanceId?: string; } interface ChangeContext extends ChangeContextPayloadOneOf { /** Properties were updated. */ propertiesChange?: PropertiesChange; /** Default properties were created on site creation. */ siteCreated?: SiteCreated; /** Properties were cloned on site cloning. */ siteCloned?: SiteCloned; } /** @oneof */ interface ChangeContextPayloadOneOf { /** Properties were updated. */ propertiesChange?: PropertiesChange; /** Default properties were created on site creation. */ siteCreated?: SiteCreated; /** Properties were cloned on site cloning. */ siteCloned?: SiteCloned; } interface PropertiesChange { } interface SiteCreated { /** Origin template site id. */ originTemplateId?: string | null; } interface SiteCloned { /** Origin site id. */ originMetaSiteId?: string; } interface Empty { } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number. * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entityAsJson?: string; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntityAsJson?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntityAsJson?: string | null; } interface ActionEvent { bodyAsJson?: string; } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } interface CreatePlanRequest { /** Plan to create. */ plan: Plan; /** * Unique key to prevent duplicate plan creation. If the same key is used within a short time period, the original plan will be returned instead of creating a duplicate. * @format GUID */ idempotencyKey?: string | null; } interface CreatePlanResponse { /** Created plan. */ plan?: Plan; } interface GetPlanRequest { /** * ID of the plan to retrieve. * @format GUID */ planId: string; } interface GetPlanResponse { /** Requested plan. */ plan?: Plan; } interface UpdatePlanRequest { /** plan to update. */ plan: Plan; } declare enum Cascade { /** Change the price for the plan only, without affecting existing subscriptions. */ NEW_SUBSCRIPTIONS = "NEW_SUBSCRIPTIONS", /** Change the price for the plan and apply it to existing subscriptions. */ ALL_SUBSCRIPTIONS = "ALL_SUBSCRIPTIONS" } /** @enumType */ type CascadeWithLiterals = Cascade | 'NEW_SUBSCRIPTIONS' | 'ALL_SUBSCRIPTIONS'; interface UpdatePlanResponse { /** Updated plan. */ plan?: Plan; } interface BulkUpdatePlansRequest { /** * Plans to update. * @minSize 1 * @maxSize 100 */ plans: MaskedPlan[]; /** Set the value to `true` to receive details of the updated plans. */ returnEntity?: boolean; } interface MaskedPlan { /** Plan to update. */ plan?: Plan; } interface BulkUpdatePlansResponse { /** * Updated plans. * @minSize 1 * @maxSize 100 */ results?: BulkPlanResult[]; /** Action metadata. */ bulkActionMetadata?: BulkActionMetadata; } interface ItemMetadata { /** * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). * @format GUID */ id?: string | null; /** Index of the item within the request array. Allows for correlation between request and response items. */ originalIndex?: number; /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */ success?: boolean; /** Details about the error in case of failure. */ error?: ApplicationError; } interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } interface BulkPlanResult { /** Metadata for a specific updated item. */ itemMetadata?: ItemMetadata; /** Updated plan details. Only returned if the `returnEntity` field was set to `true`. */ item?: Plan; } interface BulkActionMetadata { /** Number of items that were successfully processed. */ totalSuccesses?: number; /** Number of items that couldn't be processed. */ totalFailures?: number; /** Number of failures without details because detailed failure threshold was exceeded. */ undetailedFailures?: number; } interface BulkUpdatePlanTagsRequest { /** * IDs of plans whose tags to update. * @minSize 1 * @maxSize 100 * @format GUID */ planIds: string[]; /** Tags to assign to the plans. */ assignTags?: Tags; /** Tags to unassign from the plans. */ unassignTags?: Tags; } interface BulkUpdatePlanTagsResponse { /** * Tag update results. * @minSize 1 * @maxSize 100 */ results?: BulkUpdatePlanTagsResult[]; /** Action metadata. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkUpdatePlanTagsResult { /** Metadata for a specific updated plan. */ itemMetadata?: ItemMetadata; } interface BulkUpdatePlanTagsByFilterRequest { /** WQL filter that selects plans whose tags to update. An empty filter selects all plans. */ filter: Record | null; /** Tags to assign to the plans. */ assignTags?: Tags; /** Tags to unassign from the plans. */ unassignTags?: Tags; } interface BulkUpdatePlanTagsByFilterResponse { /** * ID of the asynchronous job that updates the tags. * @format GUID */ jobId?: string; } interface DeletePlanRequest { /** * ID of the plan to delete. * @format GUID */ planId: string; } interface DeletePlanResponse { } interface QueryPlansRequest { /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language) for more details. */ query?: QueryV2; } interface QueryV2 extends QueryV2PagingMethodOneOf { /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; /** * Filter object. * * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). */ filter?: Record | null; /** * Sort object. * * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). * @maxSize 5 */ sort?: Sorting[]; } /** @oneof */ interface QueryV2PagingMethodOneOf { /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; } interface Sorting { /** * Name of the field to sort by. * @maxLength 512 */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface CursorPaging { /** * Maximum number of items to return in the results. * @max 100 */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. * @maxLength 16000 */ cursor?: string | null; } interface QueryPlansResponse { /** List of plans. */ plans?: Plan[]; /** Paging metadata. */ pagingMetadata?: PagingMetadataV2; } interface PagingMetadataV2 { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ offset?: number | null; /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */ total?: number | null; /** Flag that indicates the server failed to calculate the `total` field. */ tooManyToCount?: boolean | null; /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */ cursors?: Cursors; } interface Cursors { /** * Cursor string pointing to the next page in the list of results. * @maxLength 16000 */ next?: string | null; /** * Cursor pointing to the previous page in the list of results. * @maxLength 16000 */ prev?: string | null; } interface SearchPlansRequest { /** Search options. See [API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language) for more details. */ search?: CursorSearch; } interface CursorSearch extends CursorSearchPagingMethodOneOf { /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort. */ cursorPaging?: CursorPaging; /** * Filter object. * * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). */ filter?: Record | null; /** * Sort object. * * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). * @maxSize 10 */ sort?: Sorting[]; /** * Logical groupings of data into facets, with summaries for each facet. For example, use aggregations to allow site visitors to narrow down their search results by selecting specific categories. * @maxSize 10 */ aggregations?: Aggregation[]; /** Free text to match in searchable fields. */ search?: SearchDetails; /** * Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format. * @maxLength 50 */ timeZone?: string | null; } /** @oneof */ interface CursorSearchPagingMethodOneOf { /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort. */ cursorPaging?: CursorPaging; } interface Aggregation extends AggregationKindOneOf { /** Value aggregation */ value?: ValueAggregation; /** Range aggregation */ range?: RangeAggregation; /** Scalar aggregation */ scalar?: ScalarAggregation; /** Date histogram aggregation */ dateHistogram?: DateHistogramAggregation; /** Nested aggregation */ nested?: NestedAggregation; /** * User-defined name of aggregation, should be unique, will appear in aggregation results * @maxLength 100 */ name?: string | null; /** Type of aggregation, client must provide matching aggregation field below */ type?: AggregationTypeWithLiterals; /** * Field to aggregate by, use dot notation to specify json path * @maxLength 200 */ fieldPath?: string; } /** @oneof */ interface AggregationKindOneOf { /** Value aggregation */ value?: ValueAggregation; /** Range aggregation */ range?: RangeAggregation; /** Scalar aggregation */ scalar?: ScalarAggregation; /** Date histogram aggregation */ dateHistogram?: DateHistogramAggregation; /** Nested aggregation */ nested?: NestedAggregation; } interface RangeBucket { /** Inclusive lower bound of the range. Required if to is not given */ from?: number | null; /** Exclusive upper bound of the range. Required if from is not given */ to?: number | null; } declare enum SortType { /** Should sort by number of matches */ COUNT = "COUNT", /** Should sort by value of the field alphabetically */ VALUE = "VALUE" } /** @enumType */ type SortTypeWithLiterals = SortType | 'COUNT' | 'VALUE'; declare enum SortDirection { /** Should sort in descending order */ DESC = "DESC", /** Should sort in ascending order */ ASC = "ASC" } /** @enumType */ type SortDirectionWithLiterals = SortDirection | 'DESC' | 'ASC'; declare enum MissingValues { /** Should missing values be excluded from the aggregation results */ EXCLUDE = "EXCLUDE", /** Should missing values be included in the aggregation results */ INCLUDE = "INCLUDE" } /** @enumType */ type MissingValuesWithLiterals = MissingValues | 'EXCLUDE' | 'INCLUDE'; interface IncludeMissingValuesOptions { /** * Can specify custom bucket name. Defaults are [string -> "N/A"], [int -> "0"], [bool -> "false"] ... * @maxLength 20 */ addToBucket?: string; } declare enum ScalarType { /** Count of distinct values */ COUNT_DISTINCT = "COUNT_DISTINCT", /** Minimum value */ MIN = "MIN", /** Maximum value */ MAX = "MAX" } /** @enumType */ type ScalarTypeWithLiterals = ScalarType | 'COUNT_DISTINCT' | 'MIN' | 'MAX'; interface ValueAggregation extends ValueAggregationOptionsOneOf { /** Options for including missing values */ includeOptions?: IncludeMissingValuesOptions; /** Should sort by number of matches or value of the field */ sortType?: SortTypeWithLiterals; /** Should sort in ascending or descending order */ sortDirection?: SortDirectionWithLiterals; /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */ limit?: number | null; /** Should missing values be included or excluded from the aggregation results. Default is EXCLUDE */ missingValues?: MissingValuesWithLiterals; } /** @oneof */ interface ValueAggregationOptionsOneOf { /** Options for including missing values */ includeOptions?: IncludeMissingValuesOptions; } declare enum NestedAggregationType { /** An aggregation where result buckets are dynamically built - one per unique value */ VALUE = "VALUE", /** An aggregation, where user can define set of ranges - each representing a bucket */ RANGE = "RANGE", /** A single-value metric aggregation - e.g. min, max, sum, avg */ SCALAR = "SCALAR", /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */ DATE_HISTOGRAM = "DATE_HISTOGRAM" } /** @enumType */ type NestedAggregationTypeWithLiterals = NestedAggregationType | 'VALUE' | 'RANGE' | 'SCALAR' | 'DATE_HISTOGRAM'; interface RangeAggregation { /** * List of range buckets, where during aggregation each entity will be placed in the first bucket where its value falls into based on provided range bounds * @maxSize 50 */ buckets?: RangeBucket[]; } interface ScalarAggregation { /** Define the operator for the scalar aggregation */ type?: ScalarTypeWithLiterals; } interface DateHistogramAggregation { /** Interval for date histogram aggregation */ interval?: IntervalWithLiterals; } declare enum Interval { /** Yearly interval */ YEAR = "YEAR", /** Monthly interval */ MONTH = "MONTH", /** Weekly interval */ WEEK = "WEEK", /** Daily interval */ DAY = "DAY", /** Hourly interval */ HOUR = "HOUR", /** Minute interval */ MINUTE = "MINUTE", /** Second interval */ SECOND = "SECOND" } /** @enumType */ type IntervalWithLiterals = Interval | 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND'; interface NestedAggregationItem extends NestedAggregationItemKindOneOf { /** Value aggregation */ value?: ValueAggregation; /** Range aggregation */ range?: RangeAggregation; /** Scalar aggregation */ scalar?: ScalarAggregation; /** Date histogram aggregation */ dateHistogram?: DateHistogramAggregation; /** * User-defined name of aggregation, should be unique, will appear in aggregation results * @maxLength 100 */ name?: string | null; /** Type of aggregation, client must provide matching aggregation field below */ type?: NestedAggregationTypeWithLiterals; /** * Field to aggregate by, use dont notation to specify json path * @maxLength 200 */ fieldPath?: string; } /** @oneof */ interface NestedAggregationItemKindOneOf { /** Value aggregation */ value?: ValueAggregation; /** Range aggregation */ range?: RangeAggregation; /** Scalar aggregation */ scalar?: ScalarAggregation; /** Date histogram aggregation */ dateHistogram?: DateHistogramAggregation; } declare enum AggregationType { /** An aggregation where result buckets are dynamically built - one per unique value */ VALUE = "VALUE", /** An aggregation, where user can define set of ranges - each representing a bucket */ RANGE = "RANGE", /** A single-value metric aggregation - e.g. min, max, sum, avg */ SCALAR = "SCALAR", /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */ DATE_HISTOGRAM = "DATE_HISTOGRAM", /** Multi-level aggregation, where each next aggregation is nested within previous one */ NESTED = "NESTED" } /** @enumType */ type AggregationTypeWithLiterals = AggregationType | 'VALUE' | 'RANGE' | 'SCALAR' | 'DATE_HISTOGRAM' | 'NESTED'; /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */ interface NestedAggregation { /** * Flattened list of aggregations, where each next aggregation is nested within previous one * @minSize 2 * @maxSize 3 */ nestedAggregations?: NestedAggregationItem[]; } interface SearchDetails { /** Defines how separate search terms in `expression` are combined */ mode?: ModeWithLiterals; /** * Search term or expression * @maxLength 100 */ expression?: string | null; /** * Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path * @maxLength 200 * @maxSize 20 */ fields?: string[]; /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */ fuzzy?: boolean; } declare enum Mode { /** Any of the search terms must be present */ OR = "OR", /** All search terms must be present */ AND = "AND" } /** @enumType */ type ModeWithLiterals = Mode | 'OR' | 'AND'; interface SearchPlansResponse { /** List of plans. */ plans?: Plan[]; /** Paging metadata. */ pagingMetadata?: CursorPagingMetadata; /** Aggregation results, returned when the search request includes aggregations. */ aggregationData?: AggregationData; } interface CursorPagingMetadata { /** Number of items returned in the response. */ count?: number | null; /** Cursor strings that point to the next page, previous page, or both. */ cursors?: Cursors; /** * Whether there are more pages to retrieve following the current page. * * + `true`: Another page of results can be retrieved. * + `false`: This is the last page. */ hasNext?: boolean | null; } interface AggregationData { /** * key = aggregation name (as derived from search request) * @maxSize 10000 */ results?: AggregationResults[]; } interface ValueAggregationResult { /** * Value of the field * @maxLength 100 */ value?: string; /** Count of entities with this value */ count?: number; } interface RangeAggregationResult { /** Inclusive lower bound of the range */ from?: number | null; /** Exclusive upper bound of the range */ to?: number | null; /** Count of entities in this range */ count?: number; } interface NestedAggregationResults extends NestedAggregationResultsResultOneOf { /** Value aggregation results */ values?: ValueResults; /** Range aggregation results */ ranges?: RangeResults; /** Scalar aggregation results */ scalar?: AggregationResultsScalarResult; /** * User-defined name of aggregation, matches the one provided in request * @maxLength 100 */ name?: string; /** Type of aggregation that matches result */ type?: AggregationTypeWithLiterals; /** * Field to aggregate by, matches the one provided in request * @maxLength 200 */ fieldPath?: string; } /** @oneof */ interface NestedAggregationResultsResultOneOf { /** Value aggregation results */ values?: ValueResults; /** Range aggregation results */ ranges?: RangeResults; /** Scalar aggregation results */ scalar?: AggregationResultsScalarResult; } interface ValueResults { /** * List of value aggregations * @maxSize 250 */ results?: ValueAggregationResult[]; } interface RangeResults { /** * List of ranges returned in same order as requested * @maxSize 50 */ results?: RangeAggregationResult[]; } interface AggregationResultsScalarResult { /** Type of scalar aggregation */ type?: ScalarTypeWithLiterals; /** Value of the scalar aggregation */ value?: number; } interface NestedValueAggregationResult { /** * Value of the field * @maxLength 1000 */ value?: string; /** Nested aggregations */ nestedResults?: NestedAggregationResults; } interface ValueResult { /** * Value of the field * @maxLength 1000 */ value?: string; /** Count of entities with this value */ count?: number | null; } interface RangeResult { /** Inclusive lower bound of the range */ from?: number | null; /** Exclusive upper bound of the range */ to?: number | null; /** Count of entities in this range */ count?: number | null; } interface ScalarResult { /** Value of the scalar aggregation */ value?: number; } interface NestedResultValue extends NestedResultValueResultOneOf { /** Value aggregation result */ value?: ValueResult; /** Range aggregation result */ range?: RangeResult; /** Scalar aggregation result */ scalar?: ScalarResult; /** Date histogram aggregation result */ dateHistogram?: ValueResult; } /** @oneof */ interface NestedResultValueResultOneOf { /** Value aggregation result */ value?: ValueResult; /** Range aggregation result */ range?: RangeResult; /** Scalar aggregation result */ scalar?: ScalarResult; /** Date histogram aggregation result */ dateHistogram?: ValueResult; } interface Results { /** List of nested aggregations */ results?: Record; } interface DateHistogramResult { /** * Date in ISO 8601 format * @maxLength 100 */ value?: string; /** Count of documents in the bucket */ count?: number; } interface GroupByValueResults { /** * List of value aggregations * @maxSize 1000 */ results?: NestedValueAggregationResult[]; } interface DateHistogramResults { /** * List of date histogram aggregations * @maxSize 200 */ results?: DateHistogramResult[]; } /** * Results of `NESTED` aggregation type in a flattened form * aggregations in resulting array are keyed by requested aggregation `name`. */ interface NestedResults { /** * List of nested aggregations * @maxSize 1000 */ results?: Results[]; } interface AggregationResults extends AggregationResultsResultOneOf { /** Value aggregation results */ values?: ValueResults; /** Range aggregation results */ ranges?: RangeResults; /** Scalar aggregation results */ scalar?: AggregationResultsScalarResult; /** Group by value aggregation results */ groupedByValue?: GroupByValueResults; /** Date histogram aggregation results */ dateHistogram?: DateHistogramResults; /** Nested aggregation results */ nested?: NestedResults; /** * User-defined name of aggregation as derived from search request * @maxLength 100 */ name?: string; /** Type of aggregation that must match provided kind as derived from search request */ type?: AggregationTypeWithLiterals; /** * Field to aggregate by as derived from search request * @maxLength 200 */ fieldPath?: string; } /** @oneof */ interface AggregationResultsResultOneOf { /** Value aggregation results */ values?: ValueResults; /** Range aggregation results */ ranges?: RangeResults; /** Scalar aggregation results */ scalar?: AggregationResultsScalarResult; /** Group by value aggregation results */ groupedByValue?: GroupByValueResults; /** Date histogram aggregation results */ dateHistogram?: DateHistogramResults; /** Nested aggregation results */ nested?: NestedResults; } interface CountPlansRequest { /** * Filter object in the following format: * `"filter" : { * "fieldName1": "value1", * "fieldName2":{"$operator":"value2"} * }` * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */ filter?: Record | null; /** Free text to match in searchable fields. When specified, the method uses search instead of filter, and may be less consistent. */ search?: SearchDetails; } interface CountPlansResponse { /** The number of plans. */ count?: number; } interface ChangePriceRequest { /** * ID of the plan to change. * @format GUID */ planId?: string; /** * ID of the pricing variant to change. * @format GUID */ pricingVariantId?: string; /** * New pricing strategy. * @minSize 1 * @maxSize 1 */ pricingStrategies?: PricingStrategy[]; /** To prevent conflicting changes, the current plan revision must be passed when updating the price. */ revision?: string | null; /** Type of cascade to apply. */ cascade?: CascadeWithLiterals; } interface ChangePriceResponse { /** Updated Plan. */ plan?: Plan; } interface ClonePlanRequest { /** * ID of the plan to clone * @format GUID */ planId?: string; /** Fields that will override values from cloned resource */ plan?: Plan; } interface ClonePlanResponse { /** Cloned plan */ plan?: Plan; } /** @docsIgnore */ type GetPlanPreviewApplicationErrors = { code?: 'MISSING_MEMBER_IDENTITY'; description?: string; data?: Record; }; /** @docsIgnore */ type CreatePlanApplicationErrors = { code?: 'CURRENCY_MISSING'; description?: string; data?: Record; }; /** @docsIgnore */ type CreatePlanValidationErrors = { ruleName?: 'NAME_NOT_BLANK'; } | { ruleName?: 'VALID_BILLING_CYCLE'; } | { ruleName?: 'VALID_PLAN_DURATION'; } | { ruleName?: 'FREE_PRICING_VARIANT_IS_NOT_RECURRING'; } | { ruleName?: 'FREE_TRIAL_IS_APPLICABLE'; } | { ruleName?: 'CYCLES_COMPLETED_END_OPTION_IS_APPLICABLE'; } | { ruleName?: 'PRICING_VARIANT_IDS_UNIQUE'; } | { ruleName?: 'FEE_IDS_UNIQUE'; } | { ruleName?: 'PRICE_OVERRIDE_IDS_UNIQUE'; } | { ruleName?: 'FEE_OVERRIDE_IDS_UNIQUE'; } | { ruleName?: 'FEE_OVERRIDE_FEE_EXISTS'; } | { ruleName?: 'VALID_DATE_RANGE'; } | { ruleName?: 'UNIQUE_START_DATES'; } | { ruleName?: 'INVALID_AMOUNT'; } | { ruleName?: 'PERK_IDS_UNIQUE'; } | { ruleName?: 'AT_LEAST_ONE_ACTIVE_VARIANT'; }; /** @docsIgnore */ type UpdatePlanValidationErrors = { ruleName?: 'NAME_NOT_BLANK'; } | { ruleName?: 'VALID_BILLING_CYCLE'; } | { ruleName?: 'VALID_PLAN_DURATION'; } | { ruleName?: 'FREE_PRICING_VARIANT_IS_NOT_RECURRING'; } | { ruleName?: 'FREE_TRIAL_IS_APPLICABLE'; } | { ruleName?: 'CYCLES_COMPLETED_END_OPTION_IS_APPLICABLE'; } | { ruleName?: 'PRICING_VARIANT_IDS_UNIQUE'; } | { ruleName?: 'FEE_IDS_UNIQUE'; } | { ruleName?: 'PRICE_OVERRIDE_IDS_UNIQUE'; } | { ruleName?: 'FEE_OVERRIDE_IDS_UNIQUE'; } | { ruleName?: 'FEE_OVERRIDE_FEE_EXISTS'; } | { ruleName?: 'VALID_DATE_RANGE'; } | { ruleName?: 'UNIQUE_START_DATES'; } | { ruleName?: 'INVALID_AMOUNT'; } | { ruleName?: 'PERK_IDS_UNIQUE'; } | { ruleName?: 'AT_LEAST_ONE_ACTIVE_VARIANT'; } | { ruleName?: 'REQUIRED_FIELD'; }; /** @docsIgnore */ type BulkUpdatePlansValidationErrors = { ruleName?: 'NAME_NOT_BLANK'; } | { ruleName?: 'VALID_BILLING_CYCLE'; } | { ruleName?: 'VALID_PLAN_DURATION'; } | { ruleName?: 'FREE_PRICING_VARIANT_IS_NOT_RECURRING'; } | { ruleName?: 'FREE_TRIAL_IS_APPLICABLE'; } | { ruleName?: 'CYCLES_COMPLETED_END_OPTION_IS_APPLICABLE'; } | { ruleName?: 'PRICING_VARIANT_IDS_UNIQUE'; } | { ruleName?: 'FEE_IDS_UNIQUE'; } | { ruleName?: 'PRICE_OVERRIDE_IDS_UNIQUE'; } | { ruleName?: 'FEE_OVERRIDE_IDS_UNIQUE'; } | { ruleName?: 'FEE_OVERRIDE_FEE_EXISTS'; } | { ruleName?: 'VALID_DATE_RANGE'; } | { ruleName?: 'UNIQUE_START_DATES'; } | { ruleName?: 'INVALID_AMOUNT'; } | { ruleName?: 'PERK_IDS_UNIQUE'; } | { ruleName?: 'AT_LEAST_ONE_ACTIVE_VARIANT'; } | { ruleName?: 'REQUIRED_FIELD'; } | { ruleName?: 'BULK_UPDATE_NOT_SUPPORTED'; }; /** @docsIgnore */ type BulkUpdatePlanTagsApplicationErrors = { code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS'; description?: string; data?: Record; }; /** @docsIgnore */ type BulkUpdatePlanTagsByFilterApplicationErrors = { code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS'; description?: string; data?: Record; }; type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function getPlanConfigurationConstraints(): __PublicMethodMetaInfo<'GET', {}, GetPlanConfigurationConstraintsRequest$1, GetPlanConfigurationConstraintsRequest, GetPlanConfigurationConstraintsResponse$1, GetPlanConfigurationConstraintsResponse>; declare function getPlanPreview(): __PublicMethodMetaInfo<'GET', {}, GetPlanPreviewRequest$1, GetPlanPreviewRequest, GetPlanPreviewResponse$1, GetPlanPreviewResponse>; declare function listPlanPreviews(): __PublicMethodMetaInfo<'POST', {}, ListPlanPreviewsRequest$1, ListPlanPreviewsRequest, ListPlanPreviewsResponse$1, ListPlanPreviewsResponse>; declare function createPlan(): __PublicMethodMetaInfo<'POST', {}, CreatePlanRequest$1, CreatePlanRequest, CreatePlanResponse$1, CreatePlanResponse>; declare function getPlan(): __PublicMethodMetaInfo<'GET', { planId: string; }, GetPlanRequest$1, GetPlanRequest, GetPlanResponse$1, GetPlanResponse>; declare function updatePlan(): __PublicMethodMetaInfo<'PATCH', { planId: string; }, UpdatePlanRequest$1, UpdatePlanRequest, UpdatePlanResponse$1, UpdatePlanResponse>; declare function bulkUpdatePlans(): __PublicMethodMetaInfo<'POST', {}, BulkUpdatePlansRequest$1, BulkUpdatePlansRequest, BulkUpdatePlansResponse$1, BulkUpdatePlansResponse>; declare function bulkUpdatePlanTags(): __PublicMethodMetaInfo<'POST', {}, BulkUpdatePlanTagsRequest$1, BulkUpdatePlanTagsRequest, BulkUpdatePlanTagsResponse$1, BulkUpdatePlanTagsResponse>; declare function bulkUpdatePlanTagsByFilter(): __PublicMethodMetaInfo<'POST', {}, BulkUpdatePlanTagsByFilterRequest$1, BulkUpdatePlanTagsByFilterRequest, BulkUpdatePlanTagsByFilterResponse$1, BulkUpdatePlanTagsByFilterResponse>; declare function deletePlan(): __PublicMethodMetaInfo<'DELETE', { planId: string; }, DeletePlanRequest$1, DeletePlanRequest, DeletePlanResponse$1, DeletePlanResponse>; declare function queryPlans(): __PublicMethodMetaInfo<'GET', {}, QueryPlansRequest$1, QueryPlansRequest, QueryPlansResponse$1, QueryPlansResponse>; declare function searchPlans(): __PublicMethodMetaInfo<'GET', {}, SearchPlansRequest$1, SearchPlansRequest, SearchPlansResponse$1, SearchPlansResponse>; declare function countPlans(): __PublicMethodMetaInfo<'POST', {}, CountPlansRequest$1, CountPlansRequest, CountPlansResponse$1, CountPlansResponse>; export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type AddressHint as AddressHintOriginal, type Address as AddressOriginal, type AggregationData as AggregationDataOriginal, type AggregationKindOneOf as AggregationKindOneOfOriginal, type Aggregation as AggregationOriginal, type AggregationResults as AggregationResultsOriginal, type AggregationResultsResultOneOf as AggregationResultsResultOneOfOriginal, type AggregationResultsScalarResult as AggregationResultsScalarResultOriginal, AggregationType as AggregationTypeOriginal, type AggregationTypeWithLiterals as AggregationTypeWithLiteralsOriginal, type ApplicationError as ApplicationErrorOriginal, AppliedAt as AppliedAtOriginal, type AppliedAtWithLiterals as AppliedAtWithLiteralsOriginal, type BenefitDistributionSettingsDistributionStrategyOneOf as BenefitDistributionSettingsDistributionStrategyOneOfOriginal, type BenefitDistributionSettings as BenefitDistributionSettingsOriginal, type BillingTermsEndOptionOneOf as BillingTermsEndOptionOneOfOriginal, type BillingTerms as BillingTermsOriginal, type BulkActionMetadata as BulkActionMetadataOriginal, type BulkPlanResult as BulkPlanResultOriginal, type BulkUpdatePlanTagsApplicationErrors as BulkUpdatePlanTagsApplicationErrorsOriginal, type BulkUpdatePlanTagsByFilterApplicationErrors as BulkUpdatePlanTagsByFilterApplicationErrorsOriginal, type BulkUpdatePlanTagsByFilterRequest as BulkUpdatePlanTagsByFilterRequestOriginal, type BulkUpdatePlanTagsByFilterResponse as BulkUpdatePlanTagsByFilterResponseOriginal, type BulkUpdatePlanTagsRequest as BulkUpdatePlanTagsRequestOriginal, type BulkUpdatePlanTagsResponse as BulkUpdatePlanTagsResponseOriginal, type BulkUpdatePlanTagsResult as BulkUpdatePlanTagsResultOriginal, type BulkUpdatePlansRequest as BulkUpdatePlansRequestOriginal, type BulkUpdatePlansResponse as BulkUpdatePlansResponseOriginal, type BulkUpdatePlansValidationErrors as BulkUpdatePlansValidationErrorsOriginal, type BusinessSchedule as BusinessScheduleOriginal, Cascade as CascadeOriginal, type CascadeWithLiterals as CascadeWithLiteralsOriginal, type Categories as CategoriesOriginal, type ChangeContext as ChangeContextOriginal, type ChangeContextPayloadOneOf as ChangeContextPayloadOneOfOriginal, type ChangePriceRequest as ChangePriceRequestOriginal, type ChangePriceResponse as ChangePriceResponseOriginal, type ClonePlanRequest as ClonePlanRequestOriginal, type ClonePlanResponse as ClonePlanResponseOriginal, type ConsentPolicy as ConsentPolicyOriginal, type CountPlansRequest as CountPlansRequestOriginal, type CountPlansResponse as CountPlansResponseOriginal, type CreatePlanApplicationErrors as CreatePlanApplicationErrorsOriginal, type CreatePlanRequest as CreatePlanRequestOriginal, type CreatePlanResponse as CreatePlanResponseOriginal, type CreatePlanValidationErrors as CreatePlanValidationErrorsOriginal, type CursorPagingMetadata as CursorPagingMetadataOriginal, type CursorPaging as CursorPagingOriginal, type CursorSearch as CursorSearchOriginal, type CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOfOriginal, type Cursors as CursorsOriginal, type CustomAmount as CustomAmountOriginal, type CustomScheduleOptions as CustomScheduleOptionsOriginal, type CustomerChosenPriceOptions as CustomerChosenPriceOptionsOriginal, type CustomerChosenPrice as CustomerChosenPriceOriginal, CustomerEligibility as CustomerEligibilityOriginal, type CustomerEligibilityWithLiterals as CustomerEligibilityWithLiteralsOriginal, type CyclesCompletedDetails as CyclesCompletedDetailsOriginal, type DateHistogramAggregation as DateHistogramAggregationOriginal, type DateHistogramResult as DateHistogramResultOriginal, type DateHistogramResults as DateHistogramResultsOriginal, type DateRangeOptions as DateRangeOptionsOriginal, type DayOfMonthOptions as DayOfMonthOptionsOriginal, DayOfWeek as DayOfWeekOriginal, type DayOfWeekWithLiterals as DayOfWeekWithLiteralsOriginal, type DeletePlanRequest as DeletePlanRequestOriginal, type DeletePlanResponse as DeletePlanResponseOriginal, DistributionStrategyType as DistributionStrategyTypeOriginal, type DistributionStrategyTypeWithLiterals as DistributionStrategyTypeWithLiteralsOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type Duration as DurationOriginal, DurationUnit as DurationUnitOriginal, type DurationUnitWithLiterals as DurationUnitWithLiteralsOriginal, type Empty as EmptyOriginal, EndType as EndTypeOriginal, type EndTypeWithLiterals as EndTypeWithLiteralsOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type ExtendedFields as ExtendedFieldsOriginal, type Fee as FeeOriginal, type FeeOverride as FeeOverrideOriginal, type FeeOverrideOverrideOptionOneOf as FeeOverrideOverrideOptionOneOfOriginal, type FeeOverrides as FeeOverridesOriginal, type FeePriceOptionOneOf as FeePriceOptionOneOfOriginal, type FixedAmountOption as FixedAmountOptionOriginal, type FixedAmountOptions as FixedAmountOptionsOriginal, type FixedDateOptions as FixedDateOptionsOriginal, type FixedDatesOptions as FixedDatesOptionsOriginal, type FixedPriceOptions as FixedPriceOptionsOriginal, type FlatRate as FlatRateOriginal, FreeTrialPolicy as FreeTrialPolicyOriginal, type FreeTrialPolicyWithLiterals as FreeTrialPolicyWithLiteralsOriginal, type GeoCoordinates as GeoCoordinatesOriginal, type GetPlanConfigurationConstraintsRequest as GetPlanConfigurationConstraintsRequestOriginal, type GetPlanConfigurationConstraintsResponse as GetPlanConfigurationConstraintsResponseOriginal, type GetPlanPreviewApplicationErrors as GetPlanPreviewApplicationErrorsOriginal, type GetPlanPreviewRequest as GetPlanPreviewRequestOriginal, type GetPlanPreviewResponse as GetPlanPreviewResponseOriginal, type GetPlanRequest as GetPlanRequestOriginal, type GetPlanResponse as GetPlanResponseOriginal, type GroupByValueResults as GroupByValueResultsOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type Image as ImageOriginal, type IncludeMissingValuesOptions as IncludeMissingValuesOptionsOriginal, Interval as IntervalOriginal, type IntervalWithLiterals as IntervalWithLiteralsOriginal, type ItemMetadata as ItemMetadataOriginal, type ListPlanConfigurationConstraintsRequest as ListPlanConfigurationConstraintsRequestOriginal, type ListPlanConfigurationConstraintsResponse as ListPlanConfigurationConstraintsResponseOriginal, type ListPlanPreviewsRequest as ListPlanPreviewsRequestOriginal, type ListPlanPreviewsResponse as ListPlanPreviewsResponseOriginal, type Locale as LocaleOriginal, type MaskedPlan as MaskedPlanOriginal, type MessageEnvelope as MessageEnvelopeOriginal, MissingValues as MissingValuesOriginal, type MissingValuesWithLiterals as MissingValuesWithLiteralsOriginal, Mode as ModeOriginal, type ModeWithLiterals as ModeWithLiteralsOriginal, type MonthlyRecurrence as MonthlyRecurrenceOriginal, type Multilingual as MultilingualOriginal, type NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOfOriginal, type NestedAggregationItem as NestedAggregationItemOriginal, type NestedAggregation as NestedAggregationOriginal, type NestedAggregationResults as NestedAggregationResultsOriginal, type NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOfOriginal, NestedAggregationType as NestedAggregationTypeOriginal, type NestedAggregationTypeWithLiterals as NestedAggregationTypeWithLiteralsOriginal, type NestedResultValue as NestedResultValueOriginal, type NestedResultValueResultOneOf as NestedResultValueResultOneOfOriginal, type NestedResults as NestedResultsOriginal, type NestedValueAggregationResult as NestedValueAggregationResultOriginal, type OptionsOptionsOneOf as OptionsOptionsOneOfOriginal, type Options as OptionsOriginal, OverrideType as OverrideTypeOriginal, type OverrideTypeWithLiterals as OverrideTypeWithLiteralsOriginal, type PagingMetadataV2 as PagingMetadataV2Original, type Paging as PagingOriginal, type PercentageDiscountOptions as PercentageDiscountOptionsOriginal, Period as PeriodOriginal, type PeriodWithLiterals as PeriodWithLiteralsOriginal, type Perk as PerkOriginal, PlacementType as PlacementTypeOriginal, type PlacementTypeWithLiterals as PlacementTypeWithLiteralsOriginal, type PlanConstraintsResult as PlanConstraintsResultOriginal, type PlanOptions as PlanOptionsOriginal, type PlanOptionsPricingStrategyOptionsOneOf as PlanOptionsPricingStrategyOptionsOneOfOriginal, type Plan as PlanOriginal, type PlanPreviewSelector as PlanPreviewSelectorOriginal, type PlanTagsModified as PlanTagsModifiedOriginal, type PlanTranslated as PlanTranslatedOriginal, type PlanTranslationDeleted as PlanTranslationDeletedOriginal, type PredefinedAmounts as PredefinedAmountsOriginal, type PriceOverride as PriceOverrideOriginal, type PriceOverrideOverrideOptionOneOf as PriceOverrideOverrideOptionOneOfOriginal, PriceOverrideOverrideType as PriceOverrideOverrideTypeOriginal, type PriceOverrideOverrideTypeWithLiterals as PriceOverrideOverrideTypeWithLiteralsOriginal, type PriceOverrides as PriceOverridesOriginal, PriceType as PriceTypeOriginal, type PriceTypeWithLiterals as PriceTypeWithLiteralsOriginal, type PricingStrategy as PricingStrategyOriginal, type PricingStrategyStrategyOneOf as PricingStrategyStrategyOneOfOriginal, PricingStrategyType as PricingStrategyTypeOriginal, type PricingStrategyTypeWithLiterals as PricingStrategyTypeWithLiteralsOriginal, type PricingVariant as PricingVariantOriginal, type PropertiesChange as PropertiesChangeOriginal, type Properties as PropertiesOriginal, type PurchaseConditionsCustomerEligibilityOptionOneOf as PurchaseConditionsCustomerEligibilityOptionOneOfOriginal, type PurchaseConditions as PurchaseConditionsOriginal, PurchaseFlow as PurchaseFlowOriginal, type PurchaseFlowWithLiterals as PurchaseFlowWithLiteralsOriginal, type PurchaseLimit as PurchaseLimitOriginal, PurchaseLimitType as PurchaseLimitTypeOriginal, type PurchaseLimitTypeWithLiterals as PurchaseLimitTypeWithLiteralsOriginal, type QueryPlansRequest as QueryPlansRequestOriginal, type QueryPlansResponse as QueryPlansResponseOriginal, type QueryV2 as QueryV2Original, type QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOfOriginal, type RangeAggregation as RangeAggregationOriginal, type RangeAggregationResult as RangeAggregationResultOriginal, type RangeBucket as RangeBucketOriginal, type RangeResult as RangeResultOriginal, type RangeResults as RangeResultsOriginal, type RecurrenceOptions as RecurrenceOptionsOriginal, type RecurrenceOptionsRecurrenceOneOf as RecurrenceOptionsRecurrenceOneOfOriginal, RecurrenceType as RecurrenceTypeOriginal, type RecurrenceTypeWithLiterals as RecurrenceTypeWithLiteralsOriginal, ResolutionMethod as ResolutionMethodOriginal, type ResolutionMethodWithLiterals as ResolutionMethodWithLiteralsOriginal, type RestoreInfo as RestoreInfoOriginal, type Results as ResultsOriginal, RulesType as RulesTypeOriginal, type RulesTypeWithLiterals as RulesTypeWithLiteralsOriginal, type ScalarAggregation as ScalarAggregationOriginal, type ScalarResult as ScalarResultOriginal, ScalarType as ScalarTypeOriginal, type ScalarTypeWithLiterals as ScalarTypeWithLiteralsOriginal, type SearchDetails as SearchDetailsOriginal, type SearchPlansRequest as SearchPlansRequestOriginal, type SearchPlansResponse as SearchPlansResponseOriginal, type SiteCloned as SiteClonedOriginal, type SiteCreated as SiteCreatedOriginal, type SitePropertiesEvent as SitePropertiesEventOriginal, type SitePropertiesNotification as SitePropertiesNotificationOriginal, SortDirection as SortDirectionOriginal, type SortDirectionWithLiterals as SortDirectionWithLiteralsOriginal, SortOrder as SortOrderOriginal, type SortOrderWithLiterals as SortOrderWithLiteralsOriginal, SortType as SortTypeOriginal, type SortTypeWithLiterals as SortTypeWithLiteralsOriginal, type Sorting as SortingOriginal, type SpecialHourPeriod as SpecialHourPeriodOriginal, type SpecificMembersOptions as SpecificMembersOptionsOriginal, type StartDateLimits as StartDateLimitsOriginal, type StartDateRulesDateRulesOneOf as StartDateRulesDateRulesOneOfOriginal, type StartDateRules as StartDateRulesOriginal, type StartDateSettings as StartDateSettingsOriginal, type StartDateSettingsStartDateOptionOneOf as StartDateSettingsStartDateOptionOneOfOriginal, StartDateType as StartDateTypeOriginal, type StartDateTypeWithLiterals as StartDateTypeWithLiteralsOriginal, StartType as StartTypeOriginal, type StartTypeWithLiterals as StartTypeWithLiteralsOriginal, Status as StatusOriginal, type StatusWithLiterals as StatusWithLiteralsOriginal, type SupportedLanguage as SupportedLanguageOriginal, type TagList as TagListOriginal, type Tags as TagsOriginal, TaxableAddress as TaxableAddressOriginal, type TaxableAddressWithLiterals as TaxableAddressWithLiteralsOriginal, type TermsAndConditionsSettings as TermsAndConditionsSettingsOriginal, type ThankYouPageSettings as ThankYouPageSettingsOriginal, type TimePeriod as TimePeriodOriginal, type Translation as TranslationOriginal, Type as TypeOriginal, type TypeWithLiterals as TypeWithLiteralsOriginal, type UpdatePlanRequest as UpdatePlanRequestOriginal, type UpdatePlanResponse as UpdatePlanResponseOriginal, type UpdatePlanValidationErrors as UpdatePlanValidationErrorsOriginal, V1DayOfWeek as V1DayOfWeekOriginal, type V1DayOfWeekWithLiterals as V1DayOfWeekWithLiteralsOriginal, type V3Duration as V3DurationOriginal, type ValidateOptionsRequest as ValidateOptionsRequestOriginal, type ValidateOptionsResponse as ValidateOptionsResponseOriginal, ValidationStrategy as ValidationStrategyOriginal, type ValidationStrategyWithLiterals as ValidationStrategyWithLiteralsOriginal, type ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOfOriginal, type ValueAggregation as ValueAggregationOriginal, type ValueAggregationResult as ValueAggregationResultOriginal, type ValueResult as ValueResultOriginal, type ValueResults as ValueResultsOriginal, type Violation as ViolationOriginal, Visibility as VisibilityOriginal, type VisibilityWithLiterals as VisibilityWithLiteralsOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type WeeklyRecurrence as WeeklyRecurrenceOriginal, type __PublicMethodMetaInfo, bulkUpdatePlanTags, bulkUpdatePlanTagsByFilter, bulkUpdatePlans, countPlans, createPlan, deletePlan, getPlan, getPlanConfigurationConstraints, getPlanPreview, listPlanPreviews, queryPlans, searchPlans, updatePlan };