export declare type AccessToken = string | AccessTokenProvider; /** * The machinery every temporary-access-token surface shares: which session is * being read, the credential for it, and the request that carries it. It * knows nothing about invoices, subscriptions, or checkout — a domain client * (see `SchematicBillingClient`) is constructed over it, and several may * share one session rather than each minting tokens of its own. */ /** Called once per session, and again when a request comes back 401. */ export declare type AccessTokenProvider = () => Promise; /** * A bare token, or one that says when it expires and who it was minted for. * `company`/`user` are the host restating the pair it asked for; stated, they * are checked against the session the resolution was started for. */ export declare interface AccessTokenResult { token: string; expiresAt?: Date | string | null; company?: string; user?: string; } /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface ApiError */ declare interface ApiError { /** * Error message * @type {string} * @memberof ApiError */ error: string; } declare function ApiErrorFromJSON(json: any): ApiError; declare function ApiErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiError; declare function ApiErrorToJSON(json: any): ApiError; declare function ApiErrorToJSONTyped(value?: ApiError | null, ignoreDiscriminator?: boolean): any; export declare namespace billingApi { export { instanceOfApiError, ApiErrorFromJSON, ApiErrorFromJSONTyped, ApiErrorToJSON, ApiErrorToJSONTyped, ApiError, instanceOfBillingCreditAutoTopupAvailability, BillingCreditAutoTopupAvailabilityFromJSON, BillingCreditAutoTopupAvailabilityFromJSONTyped, BillingCreditAutoTopupAvailabilityToJSON, BillingCreditAutoTopupAvailabilityToJSONTyped, BillingCreditAutoTopupAvailability, instanceOfBillingCreditBundleType, BillingCreditBundleTypeFromJSON, BillingCreditBundleTypeFromJSONTyped, BillingCreditBundleTypeToJSON, BillingCreditBundleTypeToJSONTyped, BillingCreditBundleType, instanceOfBillingCreditExpiryType, BillingCreditExpiryTypeFromJSON, BillingCreditExpiryTypeFromJSONTyped, BillingCreditExpiryTypeToJSON, BillingCreditExpiryTypeToJSONTyped, BillingCreditExpiryType, instanceOfBillingCreditExpiryUnit, BillingCreditExpiryUnitFromJSON, BillingCreditExpiryUnitFromJSONTyped, BillingCreditExpiryUnitToJSON, BillingCreditExpiryUnitToJSONTyped, BillingCreditExpiryUnit, instanceOfBillingCreditGrantReason, BillingCreditGrantReasonFromJSON, BillingCreditGrantReasonFromJSONTyped, BillingCreditGrantReasonToJSON, BillingCreditGrantReasonToJSONTyped, BillingCreditGrantReason, instanceOfBillingPlanCreditGrantResetCadence, BillingPlanCreditGrantResetCadenceFromJSON, BillingPlanCreditGrantResetCadenceFromJSONTyped, BillingPlanCreditGrantResetCadenceToJSON, BillingPlanCreditGrantResetCadenceToJSONTyped, BillingPlanCreditGrantResetCadence, instanceOfBillingPriceScheme, BillingPriceSchemeFromJSON, BillingPriceSchemeFromJSONTyped, BillingPriceSchemeToJSON, BillingPriceSchemeToJSONTyped, BillingPriceScheme, instanceOfBillingProductPriceInterval, BillingProductPriceIntervalFromJSON, BillingProductPriceIntervalFromJSONTyped, BillingProductPriceIntervalToJSON, BillingProductPriceIntervalToJSONTyped, BillingProductPriceInterval, instanceOfBillingProviderType, BillingProviderTypeFromJSON, BillingProviderTypeFromJSONTyped, BillingProviderTypeToJSON, BillingProviderTypeToJSONTyped, BillingProviderType, instanceOfBillingStrategy, BillingStrategyFromJSON, BillingStrategyFromJSONTyped, BillingStrategyToJSON, BillingStrategyToJSONTyped, BillingStrategy, instanceOfBillingSubscriptionTrialEndSetting, BillingSubscriptionTrialEndSettingFromJSON, BillingSubscriptionTrialEndSettingFromJSONTyped, BillingSubscriptionTrialEndSettingToJSON, BillingSubscriptionTrialEndSettingToJSONTyped, BillingSubscriptionTrialEndSetting, instanceOfBillingTiersMode, BillingTiersModeFromJSON, BillingTiersModeFromJSONTyped, BillingTiersModeToJSON, BillingTiersModeToJSONTyped, BillingTiersMode, instanceOfCatalogAutoTopupResponseData, CatalogAutoTopupResponseDataFromJSON, CatalogAutoTopupResponseDataFromJSONTyped, CatalogAutoTopupResponseDataToJSON, CatalogAutoTopupResponseDataToJSONTyped, CatalogAutoTopupResponseData, instanceOfCatalogBundleCurrencyPriceResponseData, CatalogBundleCurrencyPriceResponseDataFromJSON, CatalogBundleCurrencyPriceResponseDataFromJSONTyped, CatalogBundleCurrencyPriceResponseDataToJSON, CatalogBundleCurrencyPriceResponseDataToJSONTyped, CatalogBundleCurrencyPriceResponseData, instanceOfCatalogCapabilitiesResponseData, CatalogCapabilitiesResponseDataFromJSON, CatalogCapabilitiesResponseDataFromJSONTyped, CatalogCapabilitiesResponseDataToJSON, CatalogCapabilitiesResponseDataToJSONTyped, CatalogCapabilitiesResponseData, instanceOfCatalogCheckoutFieldResponseData, CatalogCheckoutFieldResponseDataFromJSON, CatalogCheckoutFieldResponseDataFromJSONTyped, CatalogCheckoutFieldResponseDataToJSON, CatalogCheckoutFieldResponseDataToJSONTyped, CatalogCheckoutFieldResponseData, instanceOfCatalogCheckoutSettingsResponseData, CatalogCheckoutSettingsResponseDataFromJSON, CatalogCheckoutSettingsResponseDataFromJSONTyped, CatalogCheckoutSettingsResponseDataToJSON, CatalogCheckoutSettingsResponseDataToJSONTyped, CatalogCheckoutSettingsResponseData, instanceOfCatalogCompanyPlanResponseData, CatalogCompanyPlanResponseDataFromJSON, CatalogCompanyPlanResponseDataFromJSONTyped, CatalogCompanyPlanResponseDataToJSON, CatalogCompanyPlanResponseDataToJSONTyped, CatalogCompanyPlanResponseData, instanceOfCatalogCreditBundleResponseData, CatalogCreditBundleResponseDataFromJSON, CatalogCreditBundleResponseDataFromJSONTyped, CatalogCreditBundleResponseDataToJSON, CatalogCreditBundleResponseDataToJSONTyped, CatalogCreditBundleResponseData, instanceOfCatalogCreditGrantResponseData, CatalogCreditGrantResponseDataFromJSON, CatalogCreditGrantResponseDataFromJSONTyped, CatalogCreditGrantResponseDataToJSON, CatalogCreditGrantResponseDataToJSONTyped, CatalogCreditGrantResponseData, instanceOfCatalogCurrencyPricesResponseData, CatalogCurrencyPricesResponseDataFromJSON, CatalogCurrencyPricesResponseDataFromJSONTyped, CatalogCurrencyPricesResponseDataToJSON, CatalogCurrencyPricesResponseDataToJSONTyped, CatalogCurrencyPricesResponseData, instanceOfCatalogCustomPlanCTAResponseData, CatalogCustomPlanCTAResponseDataFromJSON, CatalogCustomPlanCTAResponseDataFromJSONTyped, CatalogCustomPlanCTAResponseDataToJSON, CatalogCustomPlanCTAResponseDataToJSONTyped, CatalogCustomPlanCTAResponseData, instanceOfCatalogPlanEntitlementResponseData, CatalogPlanEntitlementResponseDataFromJSON, CatalogPlanEntitlementResponseDataFromJSONTyped, CatalogPlanEntitlementResponseDataToJSON, CatalogPlanEntitlementResponseDataToJSONTyped, CatalogPlanEntitlementResponseData, instanceOfCatalogPlanRefResponseData, CatalogPlanRefResponseDataFromJSON, CatalogPlanRefResponseDataFromJSONTyped, CatalogPlanRefResponseDataToJSON, CatalogPlanRefResponseDataToJSONTyped, CatalogPlanRefResponseData, instanceOfCatalogPriceResponseData, CatalogPriceResponseDataFromJSON, CatalogPriceResponseDataFromJSONTyped, CatalogPriceResponseDataToJSON, CatalogPriceResponseDataToJSONTyped, CatalogPriceResponseData, instanceOfCatalogPriceTierResponseData, CatalogPriceTierResponseDataFromJSON, CatalogPriceTierResponseDataFromJSONTyped, CatalogPriceTierResponseDataToJSON, CatalogPriceTierResponseDataToJSONTyped, CatalogPriceTierResponseData, instanceOfCatalogUsageViolationResponseData, CatalogUsageViolationResponseDataFromJSON, CatalogUsageViolationResponseDataFromJSONTyped, CatalogUsageViolationResponseDataToJSON, CatalogUsageViolationResponseDataToJSONTyped, CatalogUsageViolationResponseData, instanceOfChargeType, ChargeTypeFromJSON, ChargeTypeFromJSONTyped, ChargeTypeToJSON, ChargeTypeToJSONTyped, ChargeType, instanceOfCheckoutBundlePurchaseBehavior, CheckoutBundlePurchaseBehaviorFromJSON, CheckoutBundlePurchaseBehaviorFromJSONTyped, CheckoutBundlePurchaseBehaviorToJSON, CheckoutBundlePurchaseBehaviorToJSONTyped, CheckoutBundlePurchaseBehavior, instanceOfCheckoutChargeTiming, CheckoutChargeTimingFromJSON, CheckoutChargeTimingFromJSONTyped, CheckoutChargeTimingToJSON, CheckoutChargeTimingToJSONTyped, CheckoutChargeTiming, instanceOfCheckoutDraftResponseData, CheckoutDraftResponseDataFromJSON, CheckoutDraftResponseDataFromJSONTyped, CheckoutDraftResponseDataToJSON, CheckoutDraftResponseDataToJSONTyped, CheckoutDraftResponseData, instanceOfCheckoutFieldValue, CheckoutFieldValueFromJSON, CheckoutFieldValueFromJSONTyped, CheckoutFieldValueToJSON, CheckoutFieldValueToJSONTyped, CheckoutFieldValue, instanceOfCheckoutIntent, CheckoutIntentFromJSON, CheckoutIntentFromJSONTyped, CheckoutIntentToJSON, CheckoutIntentToJSONTyped, CheckoutIntent, instanceOfCheckoutPriceSnapshot, CheckoutPriceSnapshotFromJSON, CheckoutPriceSnapshotFromJSONTyped, CheckoutPriceSnapshotToJSON, CheckoutPriceSnapshotToJSONTyped, CheckoutPriceSnapshot, instanceOfCheckoutPriceSnapshotDiscount, CheckoutPriceSnapshotDiscountFromJSON, CheckoutPriceSnapshotDiscountFromJSONTyped, CheckoutPriceSnapshotDiscountToJSON, CheckoutPriceSnapshotDiscountToJSONTyped, CheckoutPriceSnapshotDiscount, instanceOfCheckoutPriceSnapshotProration, CheckoutPriceSnapshotProrationFromJSON, CheckoutPriceSnapshotProrationFromJSONTyped, CheckoutPriceSnapshotProrationToJSON, CheckoutPriceSnapshotProrationToJSONTyped, CheckoutPriceSnapshotProration, instanceOfCheckoutPriceSnapshotProrationLine, CheckoutPriceSnapshotProrationLineFromJSON, CheckoutPriceSnapshotProrationLineFromJSONTyped, CheckoutPriceSnapshotProrationLineToJSON, CheckoutPriceSnapshotProrationLineToJSONTyped, CheckoutPriceSnapshotProrationLine, instanceOfCheckoutProblemCode, CheckoutProblemCodeFromJSON, CheckoutProblemCodeFromJSONTyped, CheckoutProblemCodeToJSON, CheckoutProblemCodeToJSONTyped, CheckoutProblemCode, instanceOfCheckoutProblemResponseData, CheckoutProblemResponseDataFromJSON, CheckoutProblemResponseDataFromJSONTyped, CheckoutProblemResponseDataToJSON, CheckoutProblemResponseDataToJSONTyped, CheckoutProblemResponseData, instanceOfCheckoutProblemSource, CheckoutProblemSourceFromJSON, CheckoutProblemSourceFromJSONTyped, CheckoutProblemSourceToJSON, CheckoutProblemSourceToJSONTyped, CheckoutProblemSource, instanceOfCheckoutResponseData, CheckoutResponseDataFromJSON, CheckoutResponseDataFromJSONTyped, CheckoutResponseDataToJSON, CheckoutResponseDataToJSONTyped, CheckoutResponseData, instanceOfCheckoutSelectionsResponseData, CheckoutSelectionsResponseDataFromJSON, CheckoutSelectionsResponseDataFromJSONTyped, CheckoutSelectionsResponseDataToJSON, CheckoutSelectionsResponseDataToJSONTyped, CheckoutSelectionsResponseData, instanceOfCheckoutStatus, CheckoutStatusFromJSON, CheckoutStatusFromJSONTyped, CheckoutStatusToJSON, CheckoutStatusToJSONTyped, CheckoutStatus, instanceOfCheckoutUnsubscribeResponse, CheckoutUnsubscribeResponseFromJSON, CheckoutUnsubscribeResponseFromJSONTyped, CheckoutUnsubscribeResponseToJSON, CheckoutUnsubscribeResponseToJSONTyped, CheckoutUnsubscribeResponse, instanceOfCompanyCatalogResponseData, CompanyCatalogResponseDataFromJSON, CompanyCatalogResponseDataFromJSONTyped, CompanyCatalogResponseDataToJSON, CompanyCatalogResponseDataToJSONTyped, CompanyCatalogResponseData, instanceOfCompanyContextCustomPlanBillingResponseData, CompanyContextCustomPlanBillingResponseDataFromJSON, CompanyContextCustomPlanBillingResponseDataFromJSONTyped, CompanyContextCustomPlanBillingResponseDataToJSON, CompanyContextCustomPlanBillingResponseDataToJSONTyped, CompanyContextCustomPlanBillingResponseData, instanceOfCompanyContextPlanResponseData, CompanyContextPlanResponseDataFromJSON, CompanyContextPlanResponseDataFromJSONTyped, CompanyContextPlanResponseDataToJSON, CompanyContextPlanResponseDataToJSONTyped, CompanyContextPlanResponseData, instanceOfCompanyContextResponseData, CompanyContextResponseDataFromJSON, CompanyContextResponseDataFromJSONTyped, CompanyContextResponseDataToJSON, CompanyContextResponseDataToJSONTyped, CompanyContextResponseData, instanceOfCompanyContextScheduledDowngradeResponseData, CompanyContextScheduledDowngradeResponseDataFromJSON, CompanyContextScheduledDowngradeResponseDataFromJSONTyped, CompanyContextScheduledDowngradeResponseDataToJSON, CompanyContextScheduledDowngradeResponseDataToJSONTyped, CompanyContextScheduledDowngradeResponseData, instanceOfCompanyContextSubscriptionResponseData, CompanyContextSubscriptionResponseDataFromJSON, CompanyContextSubscriptionResponseDataFromJSONTyped, CompanyContextSubscriptionResponseDataToJSON, CompanyContextSubscriptionResponseDataToJSONTyped, CompanyContextSubscriptionResponseData, instanceOfCompanyCreditAutoTopupResponseData, CompanyCreditAutoTopupResponseDataFromJSON, CompanyCreditAutoTopupResponseDataFromJSONTyped, CompanyCreditAutoTopupResponseDataToJSON, CompanyCreditAutoTopupResponseDataToJSONTyped, CompanyCreditAutoTopupResponseData, instanceOfCompanyCreditBalanceResponseData, CompanyCreditBalanceResponseDataFromJSON, CompanyCreditBalanceResponseDataFromJSONTyped, CompanyCreditBalanceResponseDataToJSON, CompanyCreditBalanceResponseDataToJSONTyped, CompanyCreditBalanceResponseData, instanceOfCompanyCreditBalancesResponseData, CompanyCreditBalancesResponseDataFromJSON, CompanyCreditBalancesResponseDataFromJSONTyped, CompanyCreditBalancesResponseDataToJSON, CompanyCreditBalancesResponseDataToJSONTyped, CompanyCreditBalancesResponseData, instanceOfCompanyCreditCompositionResponseData, CompanyCreditCompositionResponseDataFromJSON, CompanyCreditCompositionResponseDataFromJSONTyped, CompanyCreditCompositionResponseDataToJSON, CompanyCreditCompositionResponseDataToJSONTyped, CompanyCreditCompositionResponseData, instanceOfCompanyCreditGrantResponseData, CompanyCreditGrantResponseDataFromJSON, CompanyCreditGrantResponseDataFromJSONTyped, CompanyCreditGrantResponseDataToJSON, CompanyCreditGrantResponseDataToJSONTyped, CompanyCreditGrantResponseData, instanceOfCompanyCreditUserUsageResponseData, CompanyCreditUserUsageResponseDataFromJSON, CompanyCreditUserUsageResponseDataFromJSONTyped, CompanyCreditUserUsageResponseDataToJSON, CompanyCreditUserUsageResponseDataToJSONTyped, CompanyCreditUserUsageResponseData, instanceOfCompanyCreditUserUsageRowResponseData, CompanyCreditUserUsageRowResponseDataFromJSON, CompanyCreditUserUsageRowResponseDataFromJSONTyped, CompanyCreditUserUsageRowResponseDataToJSON, CompanyCreditUserUsageRowResponseDataToJSONTyped, CompanyCreditUserUsageRowResponseData, instanceOfCompanyDiscountResponseData, CompanyDiscountResponseDataFromJSON, CompanyDiscountResponseDataFromJSONTyped, CompanyDiscountResponseDataToJSON, CompanyDiscountResponseDataToJSONTyped, CompanyDiscountResponseData, instanceOfCompanyFeatureUsageListResponseData, CompanyFeatureUsageListResponseDataFromJSON, CompanyFeatureUsageListResponseDataFromJSONTyped, CompanyFeatureUsageListResponseDataToJSON, CompanyFeatureUsageListResponseDataToJSONTyped, CompanyFeatureUsageListResponseData, instanceOfCompanyFeatureUsageResponseData, CompanyFeatureUsageResponseDataFromJSON, CompanyFeatureUsageResponseDataFromJSONTyped, CompanyFeatureUsageResponseDataToJSON, CompanyFeatureUsageResponseDataToJSONTyped, CompanyFeatureUsageResponseData, instanceOfCompanyFeatureUserUsageResponseData, CompanyFeatureUserUsageResponseDataFromJSON, CompanyFeatureUserUsageResponseDataFromJSONTyped, CompanyFeatureUserUsageResponseDataToJSON, CompanyFeatureUserUsageResponseDataToJSONTyped, CompanyFeatureUserUsageResponseData, instanceOfCompanyInvoiceResponseData, CompanyInvoiceResponseDataFromJSON, CompanyInvoiceResponseDataFromJSONTyped, CompanyInvoiceResponseDataToJSON, CompanyInvoiceResponseDataToJSONTyped, CompanyInvoiceResponseData, instanceOfCompanyInvoicesResponseData, CompanyInvoicesResponseDataFromJSON, CompanyInvoicesResponseDataFromJSONTyped, CompanyInvoicesResponseDataToJSON, CompanyInvoicesResponseDataToJSONTyped, CompanyInvoicesResponseData, instanceOfCompanyPaymentMethodResponseData, CompanyPaymentMethodResponseDataFromJSON, CompanyPaymentMethodResponseDataFromJSONTyped, CompanyPaymentMethodResponseDataToJSON, CompanyPaymentMethodResponseDataToJSONTyped, CompanyPaymentMethodResponseData, instanceOfCompanyPaymentMethodsResponseData, CompanyPaymentMethodsResponseDataFromJSON, CompanyPaymentMethodsResponseDataFromJSONTyped, CompanyPaymentMethodsResponseDataToJSON, CompanyPaymentMethodsResponseDataToJSONTyped, CompanyPaymentMethodsResponseData, instanceOfCompanyPlanInvalidReason, CompanyPlanInvalidReasonFromJSON, CompanyPlanInvalidReasonFromJSONTyped, CompanyPlanInvalidReasonToJSON, CompanyPlanInvalidReasonToJSONTyped, CompanyPlanInvalidReason, instanceOfCompanyTaxIDView, CompanyTaxIDViewFromJSON, CompanyTaxIDViewFromJSONTyped, CompanyTaxIDViewToJSON, CompanyTaxIDViewToJSONTyped, CompanyTaxIDView, instanceOfCompanyUpcomingInvoiceResponseData, CompanyUpcomingInvoiceResponseDataFromJSON, CompanyUpcomingInvoiceResponseDataFromJSONTyped, CompanyUpcomingInvoiceResponseDataToJSON, CompanyUpcomingInvoiceResponseDataToJSONTyped, CompanyUpcomingInvoiceResponseData, instanceOfCompanyUserUsageResponseData, CompanyUserUsageResponseDataFromJSON, CompanyUserUsageResponseDataFromJSONTyped, CompanyUserUsageResponseDataToJSON, CompanyUserUsageResponseDataToJSONTyped, CompanyUserUsageResponseData, instanceOfCreateCheckoutRequest, CreateCheckoutRequestFromJSON, CreateCheckoutRequestFromJSONTyped, CreateCheckoutRequestToJSON, CreateCheckoutRequestToJSONTyped, CreateCheckoutRequest, instanceOfCreateCheckoutResponse, CreateCheckoutResponseFromJSON, CreateCheckoutResponseFromJSONTyped, CreateCheckoutResponseToJSON, CreateCheckoutResponseToJSONTyped, CreateCheckoutResponse, instanceOfCreateSetupIntentResponse, CreateSetupIntentResponseFromJSON, CreateSetupIntentResponseFromJSONTyped, CreateSetupIntentResponseToJSON, CreateSetupIntentResponseToJSONTyped, CreateSetupIntentResponse, instanceOfCurrency, CurrencyFromJSON, CurrencyFromJSONTyped, CurrencyToJSON, CurrencyToJSONTyped, Currency, instanceOfCustomPlanActivationStrategy, CustomPlanActivationStrategyFromJSON, CustomPlanActivationStrategyFromJSONTyped, CustomPlanActivationStrategyToJSON, CustomPlanActivationStrategyToJSONTyped, CustomPlanActivationStrategy, instanceOfDeletePaymentMethodResponse, DeletePaymentMethodResponseFromJSON, DeletePaymentMethodResponseFromJSONTyped, DeletePaymentMethodResponseToJSON, DeletePaymentMethodResponseToJSONTyped, DeletePaymentMethodResponse, instanceOfDeleteResponse, DeleteResponseFromJSON, DeleteResponseFromJSONTyped, DeleteResponseToJSON, DeleteResponseToJSONTyped, DeleteResponse, instanceOfEntitlementPriceBehavior, EntitlementPriceBehaviorFromJSON, EntitlementPriceBehaviorFromJSONTyped, EntitlementPriceBehaviorToJSON, EntitlementPriceBehaviorToJSONTyped, EntitlementPriceBehavior, instanceOfEntitlementType, EntitlementTypeFromJSON, EntitlementTypeFromJSONTyped, EntitlementTypeToJSON, EntitlementTypeToJSONTyped, EntitlementType, instanceOfEntitlementValueType, EntitlementValueTypeFromJSON, EntitlementValueTypeFromJSONTyped, EntitlementValueTypeToJSON, EntitlementValueTypeToJSONTyped, EntitlementValueType_2 as EntitlementValueType, instanceOfFeatureType, FeatureTypeFromJSON, FeatureTypeFromJSONTyped, FeatureTypeToJSON, FeatureTypeToJSONTyped, FeatureType, instanceOfFinalizeCheckoutRequest, FinalizeCheckoutRequestFromJSON, FinalizeCheckoutRequestFromJSONTyped, FinalizeCheckoutRequestToJSON, FinalizeCheckoutRequestToJSONTyped, FinalizeCheckoutRequest, instanceOfFinalizeCheckoutResponse, FinalizeCheckoutResponseFromJSON, FinalizeCheckoutResponseFromJSONTyped, FinalizeCheckoutResponseToJSON, FinalizeCheckoutResponseToJSONTyped, FinalizeCheckoutResponse, instanceOfGetCatalogViewByIDResponse, GetCatalogViewByIDResponseFromJSON, GetCatalogViewByIDResponseFromJSONTyped, GetCatalogViewByIDResponseToJSON, GetCatalogViewByIDResponseToJSONTyped, GetCatalogViewByIDResponse, instanceOfGetCatalogViewResponse, GetCatalogViewResponseFromJSON, GetCatalogViewResponseFromJSONTyped, GetCatalogViewResponseToJSON, GetCatalogViewResponseToJSONTyped, GetCatalogViewResponse, instanceOfGetCheckoutResponse, GetCheckoutResponseFromJSON, GetCheckoutResponseFromJSONTyped, GetCheckoutResponseToJSON, GetCheckoutResponseToJSONTyped, GetCheckoutResponse, instanceOfGetCheckoutTaxIDResponse, GetCheckoutTaxIDResponseFromJSON, GetCheckoutTaxIDResponseFromJSONTyped, GetCheckoutTaxIDResponseToJSON, GetCheckoutTaxIDResponseToJSONTyped, GetCheckoutTaxIDResponse, instanceOfGetCompanyCreditBalancesResponse, GetCompanyCreditBalancesResponseFromJSON, GetCompanyCreditBalancesResponseFromJSONTyped, GetCompanyCreditBalancesResponseToJSON, GetCompanyCreditBalancesResponseToJSONTyped, GetCompanyCreditBalancesResponse, instanceOfGetCompanyCreditUserUsageParams, GetCompanyCreditUserUsageParamsFromJSON, GetCompanyCreditUserUsageParamsFromJSONTyped, GetCompanyCreditUserUsageParamsToJSON, GetCompanyCreditUserUsageParamsToJSONTyped, GetCompanyCreditUserUsageParams, instanceOfGetCompanyCreditUserUsageResponse, GetCompanyCreditUserUsageResponseFromJSON, GetCompanyCreditUserUsageResponseFromJSONTyped, GetCompanyCreditUserUsageResponseToJSON, GetCompanyCreditUserUsageResponseToJSONTyped, GetCompanyCreditUserUsageResponse, instanceOfGetCompanyFeatureUsageResponse, GetCompanyFeatureUsageResponseFromJSON, GetCompanyFeatureUsageResponseFromJSONTyped, GetCompanyFeatureUsageResponseToJSON, GetCompanyFeatureUsageResponseToJSONTyped, GetCompanyFeatureUsageResponse, instanceOfGetCompanyFeatureUserUsageParams, GetCompanyFeatureUserUsageParamsFromJSON, GetCompanyFeatureUserUsageParamsFromJSONTyped, GetCompanyFeatureUserUsageParamsToJSON, GetCompanyFeatureUserUsageParamsToJSONTyped, GetCompanyFeatureUserUsageParams, instanceOfGetCompanyFeatureUserUsageResponse, GetCompanyFeatureUserUsageResponseFromJSON, GetCompanyFeatureUserUsageResponseFromJSONTyped, GetCompanyFeatureUserUsageResponseToJSON, GetCompanyFeatureUserUsageResponseToJSONTyped, GetCompanyFeatureUserUsageResponse, instanceOfGetCompanyInvoicesParams, GetCompanyInvoicesParamsFromJSON, GetCompanyInvoicesParamsFromJSONTyped, GetCompanyInvoicesParamsToJSON, GetCompanyInvoicesParamsToJSONTyped, GetCompanyInvoicesParams, instanceOfGetCompanyInvoicesResponse, GetCompanyInvoicesResponseFromJSON, GetCompanyInvoicesResponseFromJSONTyped, GetCompanyInvoicesResponseToJSON, GetCompanyInvoicesResponseToJSONTyped, GetCompanyInvoicesResponse, instanceOfGetCompanyPaymentMethodsResponse, GetCompanyPaymentMethodsResponseFromJSON, GetCompanyPaymentMethodsResponseFromJSONTyped, GetCompanyPaymentMethodsResponseToJSON, GetCompanyPaymentMethodsResponseToJSONTyped, GetCompanyPaymentMethodsResponse, instanceOfGetCompanyResponse, GetCompanyResponseFromJSON, GetCompanyResponseFromJSONTyped, GetCompanyResponseToJSON, GetCompanyResponseToJSONTyped, GetCompanyResponse, instanceOfGetCompanyUpcomingInvoiceResponse, GetCompanyUpcomingInvoiceResponseFromJSON, GetCompanyUpcomingInvoiceResponseFromJSONTyped, GetCompanyUpcomingInvoiceResponseToJSON, GetCompanyUpcomingInvoiceResponseToJSONTyped, GetCompanyUpcomingInvoiceResponse, instanceOfInvoiceStatus, InvoiceStatusFromJSON, InvoiceStatusFromJSONTyped, InvoiceStatusToJSON, InvoiceStatusToJSONTyped, InvoiceStatus, instanceOfListCheckoutsParams, ListCheckoutsParamsFromJSON, ListCheckoutsParamsFromJSONTyped, ListCheckoutsParamsToJSON, ListCheckoutsParamsToJSONTyped, ListCheckoutsParams, instanceOfListCheckoutsResponse, ListCheckoutsResponseFromJSON, ListCheckoutsResponseFromJSONTyped, ListCheckoutsResponseToJSON, ListCheckoutsResponseToJSONTyped, ListCheckoutsResponse, instanceOfMetricPeriod, MetricPeriodFromJSON, MetricPeriodFromJSONTyped, MetricPeriodToJSON, MetricPeriodToJSONTyped, MetricPeriod_2 as MetricPeriod, instanceOfMetricPeriodMonthReset, MetricPeriodMonthResetFromJSON, MetricPeriodMonthResetFromJSONTyped, MetricPeriodMonthResetToJSON, MetricPeriodMonthResetToJSONTyped, MetricPeriodMonthReset_2 as MetricPeriodMonthReset, instanceOfPaymentMethodResponseData, PaymentMethodResponseDataFromJSON, PaymentMethodResponseDataFromJSONTyped, PaymentMethodResponseDataToJSON, PaymentMethodResponseDataToJSONTyped, PaymentMethodResponseData, instanceOfPlanCreditGrantScaling, PlanCreditGrantScalingFromJSON, PlanCreditGrantScalingFromJSONTyped, PlanCreditGrantScalingToJSON, PlanCreditGrantScalingToJSONTyped, PlanCreditGrantScaling, instanceOfPlanPriceCadence, PlanPriceCadenceFromJSON, PlanPriceCadenceFromJSONTyped, PlanPriceCadenceToJSON, PlanPriceCadenceToJSONTyped, PlanPriceCadence, instanceOfProrationBehavior, ProrationBehaviorFromJSON, ProrationBehaviorFromJSONTyped, ProrationBehaviorToJSON, ProrationBehaviorToJSONTyped, ProrationBehavior, instanceOfProrationLineKind, ProrationLineKindFromJSON, ProrationLineKindFromJSONTyped, ProrationLineKindToJSON, ProrationLineKindToJSONTyped, ProrationLineKind, instanceOfScheduledDowngradeConfigBehavior, ScheduledDowngradeConfigBehaviorFromJSON, ScheduledDowngradeConfigBehaviorFromJSONTyped, ScheduledDowngradeConfigBehaviorToJSON, ScheduledDowngradeConfigBehaviorToJSONTyped, ScheduledDowngradeConfigBehavior, instanceOfSetupIntentResponseData, SetupIntentResponseDataFromJSON, SetupIntentResponseDataFromJSONTyped, SetupIntentResponseDataToJSON, SetupIntentResponseDataToJSONTyped, SetupIntentResponseData, instanceOfTaxIDInput, TaxIDInputFromJSON, TaxIDInputFromJSONTyped, TaxIDInputToJSON, TaxIDInputToJSONTyped, TaxIDInput, instanceOfTaxIdType, TaxIdTypeFromJSON, TaxIdTypeFromJSONTyped, TaxIdTypeToJSON, TaxIdTypeToJSONTyped, TaxIdType, instanceOfUpdateAddOnRequestBody, UpdateAddOnRequestBodyFromJSON, UpdateAddOnRequestBodyFromJSONTyped, UpdateAddOnRequestBodyToJSON, UpdateAddOnRequestBodyToJSONTyped, UpdateAddOnRequestBody, instanceOfUpdateAutoTopupOverrideRequestBody, UpdateAutoTopupOverrideRequestBodyFromJSON, UpdateAutoTopupOverrideRequestBodyFromJSONTyped, UpdateAutoTopupOverrideRequestBodyToJSON, UpdateAutoTopupOverrideRequestBodyToJSONTyped, UpdateAutoTopupOverrideRequestBody, instanceOfUpdateCheckoutRequest, UpdateCheckoutRequestFromJSON, UpdateCheckoutRequestFromJSONTyped, UpdateCheckoutRequestToJSON, UpdateCheckoutRequestToJSONTyped, UpdateCheckoutRequest, instanceOfUpdateCheckoutResponse, UpdateCheckoutResponseFromJSON, UpdateCheckoutResponseFromJSONTyped, UpdateCheckoutResponseToJSON, UpdateCheckoutResponseToJSONTyped, UpdateCheckoutResponse, instanceOfUpdateCheckoutTaxIDRequestBody, UpdateCheckoutTaxIDRequestBodyFromJSON, UpdateCheckoutTaxIDRequestBodyFromJSONTyped, UpdateCheckoutTaxIDRequestBodyToJSON, UpdateCheckoutTaxIDRequestBodyToJSONTyped, UpdateCheckoutTaxIDRequestBody, instanceOfUpdateCheckoutTaxIDResponse, UpdateCheckoutTaxIDResponseFromJSON, UpdateCheckoutTaxIDResponseFromJSONTyped, UpdateCheckoutTaxIDResponseToJSON, UpdateCheckoutTaxIDResponseToJSONTyped, UpdateCheckoutTaxIDResponse, instanceOfUpdateCheckoutTaxIDResponseData, UpdateCheckoutTaxIDResponseDataFromJSON, UpdateCheckoutTaxIDResponseDataFromJSONTyped, UpdateCheckoutTaxIDResponseDataToJSON, UpdateCheckoutTaxIDResponseDataToJSONTyped, UpdateCheckoutTaxIDResponseData, instanceOfUpdateCreditBundleRequestBody, UpdateCreditBundleRequestBodyFromJSON, UpdateCreditBundleRequestBodyFromJSONTyped, UpdateCreditBundleRequestBodyToJSON, UpdateCreditBundleRequestBodyToJSONTyped, UpdateCreditBundleRequestBody, instanceOfUpdatePayInAdvanceRequestBody, UpdatePayInAdvanceRequestBodyFromJSON, UpdatePayInAdvanceRequestBodyFromJSONTyped, UpdatePayInAdvanceRequestBodyToJSON, UpdatePayInAdvanceRequestBodyToJSONTyped, UpdatePayInAdvanceRequestBody, instanceOfUpdatePaymentMethodRequestBody, UpdatePaymentMethodRequestBodyFromJSON, UpdatePaymentMethodRequestBodyFromJSONTyped, UpdatePaymentMethodRequestBodyToJSON, UpdatePaymentMethodRequestBodyToJSONTyped, UpdatePaymentMethodRequestBody, instanceOfUpdatePaymentMethodResponse, UpdatePaymentMethodResponseFromJSON, UpdatePaymentMethodResponseFromJSONTyped, UpdatePaymentMethodResponseToJSON, UpdatePaymentMethodResponseToJSONTyped, UpdatePaymentMethodResponse } } /** * What a reader of billing data can ask for, and the few writes beside it. * Subscription and usage — the rest of what `hydrate` serves — and the * checkout calls that change them join this interface as their endpoints * ship. */ export declare interface BillingClient { /** The environment's catalog, or the one `catalogId` names. */ fetchCatalog(query?: CatalogQuery): Promise; /** Opens a checkout, priced when the cart is priceable. */ createCheckout(selections: CheckoutSelections): Promise; getCheckout(id: string): Promise; /** * Replaces the cart and re-prices it. `version` is the one the caller last * read; a stale one is a 409. */ updateCheckout(id: string, version: number, selections: CheckoutSelections): Promise; /** * Charges the cart at `version`. `sessionId` is the one the last write * answered with; without it the finalize starts a session of its own. */ finalizeCheckout(id: string, version: number, options?: { sessionId?: string; }): Promise; fetchInvoices(params: InvoicesRequest): Promise; /** `null` when the company has no next bill. */ fetchUpcomingInvoice(): Promise; /** Empty when the company has no method on file. */ fetchPaymentMethods(): Promise; /** What a provider's card form is mounted with to add a method. */ createSetupIntent(): Promise; /** Makes the method the default, by the provider's id (`externalId`). */ updatePaymentMethod(externalId: string): Promise; /** Removes the method, by Schematic's id (`id`). */ deletePaymentMethod(id: string): Promise; /** * Cancels the company's subscription at the end of its billing period. * Rejects when it has no single active subscription, or that one is * already set to cancel. */ cancelSubscription(): Promise; /** Empty when the company is entitled to nothing. */ fetchFeatureUsage(): Promise; /** Empty when the company has none on file. */ fetchTaxIds(): Promise; /** Sets the company's tax ID, and answers with every one now on file. */ updateTaxId(taxId: TaxIdInput): Promise; /** One event-based feature's usage by user over its metric period. */ fetchFeatureUserUsage(params: FeatureUserUsageRequest): Promise; /** Empty when the company holds no credits and its plan draws on none. */ fetchCreditBalances(): Promise; /** One credit's consumption by user over the span of its live grants. */ fetchCreditUserUsage(params: CreditUserUsageRequest): Promise; /** The company's plan, add-ons, and subscription state. */ fetchCompany(): Promise; readonly sessionStatus: SessionStatus; readonly sessionKey: string | undefined; setSession(session: SessionInput): void; onSessionChange(listener: (event: SessionEvent) => void): () => void; } export declare type BillingClientOptions = SessionOptions; /** * * @export */ declare const BillingCreditAutoTopupAvailability: { readonly Off: "off"; readonly Automatic: "automatic"; readonly UserControlled: "user_controlled"; }; declare type BillingCreditAutoTopupAvailability = (typeof BillingCreditAutoTopupAvailability)[keyof typeof BillingCreditAutoTopupAvailability]; declare function BillingCreditAutoTopupAvailabilityFromJSON(json: any): BillingCreditAutoTopupAvailability; declare function BillingCreditAutoTopupAvailabilityFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingCreditAutoTopupAvailability; declare function BillingCreditAutoTopupAvailabilityToJSON(value?: BillingCreditAutoTopupAvailability | null): any; declare function BillingCreditAutoTopupAvailabilityToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingCreditAutoTopupAvailability; /** * * @export */ declare const BillingCreditBundleType: { readonly Fixed: "fixed"; }; declare type BillingCreditBundleType = (typeof BillingCreditBundleType)[keyof typeof BillingCreditBundleType]; declare function BillingCreditBundleTypeFromJSON(json: any): BillingCreditBundleType; declare function BillingCreditBundleTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingCreditBundleType; declare function BillingCreditBundleTypeToJSON(value?: BillingCreditBundleType | null): any; declare function BillingCreditBundleTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingCreditBundleType; /** * * @export */ declare const BillingCreditExpiryType: { readonly Duration: "duration"; readonly EndOfBillingPeriod: "end_of_billing_period"; readonly EndOfNextBillingPeriod: "end_of_next_billing_period"; readonly EndOfTrial: "end_of_trial"; readonly NoExpiry: "no_expiry"; }; declare type BillingCreditExpiryType = (typeof BillingCreditExpiryType)[keyof typeof BillingCreditExpiryType]; declare function BillingCreditExpiryTypeFromJSON(json: any): BillingCreditExpiryType; declare function BillingCreditExpiryTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingCreditExpiryType; declare function BillingCreditExpiryTypeToJSON(value?: BillingCreditExpiryType | null): any; declare function BillingCreditExpiryTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingCreditExpiryType; /** * * @export */ declare const BillingCreditExpiryUnit: { readonly BillingPeriods: "billing_periods"; readonly Days: "days"; }; declare type BillingCreditExpiryUnit = (typeof BillingCreditExpiryUnit)[keyof typeof BillingCreditExpiryUnit]; declare function BillingCreditExpiryUnitFromJSON(json: any): BillingCreditExpiryUnit; declare function BillingCreditExpiryUnitFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingCreditExpiryUnit; declare function BillingCreditExpiryUnitToJSON(value?: BillingCreditExpiryUnit | null): any; declare function BillingCreditExpiryUnitToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingCreditExpiryUnit; /** * * @export */ declare const BillingCreditGrantReason: { readonly Adjustment: "adjustment"; readonly BillingCreditAutoTopup: "billing_credit_auto_topup"; readonly Free: "free"; readonly Plan: "plan"; readonly PostpaidForgiven: "postpaid_forgiven"; readonly PostpaidOverdraft: "postpaid_overdraft"; readonly PostpaidSettlement: "postpaid_settlement"; readonly Purchased: "purchased"; readonly Rollover: "rollover"; }; declare type BillingCreditGrantReason = (typeof BillingCreditGrantReason)[keyof typeof BillingCreditGrantReason]; declare function BillingCreditGrantReasonFromJSON(json: any): BillingCreditGrantReason; declare function BillingCreditGrantReasonFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingCreditGrantReason; declare function BillingCreditGrantReasonToJSON(value?: BillingCreditGrantReason | null): any; declare function BillingCreditGrantReasonToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingCreditGrantReason; /** * A prefetch or fixture. An omitted key reports as pending; a keyed resource * seeds under `params`, or its defaults when absent, so a prefetch for a * non-default query is claimed rather than refetched by the element. */ export declare type BillingData = { [K in BillingResourceName]?: BillingResources[K]; } & { params?: Partial; /** * A prefetch outlives the render that made it — a cached page, a session * resolving to somebody else — so a store adopts it only for the session * it names. `fetchBillingData` fills it in; a fixture need not. */ sessionKey?: string; }; /** * * @export */ declare const BillingPlanCreditGrantResetCadence: { readonly Daily: "daily"; readonly Every6Months: "every_6_months"; readonly Monthly: "monthly"; readonly Quarterly: "quarterly"; readonly Weekly: "weekly"; readonly Yearly: "yearly"; }; declare type BillingPlanCreditGrantResetCadence = (typeof BillingPlanCreditGrantResetCadence)[keyof typeof BillingPlanCreditGrantResetCadence]; declare function BillingPlanCreditGrantResetCadenceFromJSON(json: any): BillingPlanCreditGrantResetCadence; declare function BillingPlanCreditGrantResetCadenceFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingPlanCreditGrantResetCadence; declare function BillingPlanCreditGrantResetCadenceToJSON(value?: BillingPlanCreditGrantResetCadence | null): any; declare function BillingPlanCreditGrantResetCadenceToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingPlanCreditGrantResetCadence; export declare interface BillingPrefetchOptions { /** * The resources the page renders, and no default: each one is a request * on the server — the upcoming invoice is a live provider preview — and * the list grows with every element, so a page names what it needs rather * than paying for everything. */ names: BillingResourceName[]; /** The invoice query to prefetch for; the element must ask the same one. */ invoices?: InvoiceQuery; /** The catalog to prefetch; the element must ask the same one. */ catalog?: CatalogQuery; } /** * * @export */ declare const BillingPriceScheme: { readonly PerUnit: "per_unit"; readonly Tiered: "tiered"; }; declare type BillingPriceScheme = (typeof BillingPriceScheme)[keyof typeof BillingPriceScheme]; declare function BillingPriceSchemeFromJSON(json: any): BillingPriceScheme; declare function BillingPriceSchemeFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingPriceScheme; declare function BillingPriceSchemeToJSON(value?: BillingPriceScheme | null): any; declare function BillingPriceSchemeToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingPriceScheme; /** * * @export */ declare const BillingProductPriceInterval: { readonly Day: "day"; readonly Month: "month"; readonly OneTime: "one-time"; readonly Year: "year"; }; declare type BillingProductPriceInterval = (typeof BillingProductPriceInterval)[keyof typeof BillingProductPriceInterval]; declare function BillingProductPriceIntervalFromJSON(json: any): BillingProductPriceInterval; declare function BillingProductPriceIntervalFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingProductPriceInterval; declare function BillingProductPriceIntervalToJSON(value?: BillingProductPriceInterval | null): any; declare function BillingProductPriceIntervalToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingProductPriceInterval; /** * * @export */ declare const BillingProviderType: { readonly Metronome: "metronome"; readonly Orb: "orb"; readonly Schematic: "schematic"; readonly Stripe: "stripe"; }; declare type BillingProviderType = (typeof BillingProviderType)[keyof typeof BillingProviderType]; declare function BillingProviderTypeFromJSON(json: any): BillingProviderType; declare function BillingProviderTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingProviderType; declare function BillingProviderTypeToJSON(value?: BillingProviderType | null): any; declare function BillingProviderTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingProviderType; export declare type BillingResourceName = keyof BillingResources; /** `Record` marks a singleton; anything else is keyed. */ export declare interface BillingResourceParams { catalog: CatalogQuery; invoices: InvoiceQuery; upcomingInvoice: Record; paymentMethods: Record; featureUsage: Record; creditBalances: Record; company: Record; taxIds: Record; } /** * Nothing in the store, the hooks, or the resource keys may be addressed by * company or user id: users and companies are many-to-many, and a token names * the pair. What is loaded belongs to the session it was read under — the * pair, as `sessionKey` writes it — and a store that keeps more than one * session's data keys it by that and serves only the active one. */ export declare interface BillingResources { /** * `GET /catalog/view`, or `GET /catalogs/{catalog_id}/view` for a * `catalogId`: the catalog as the company sees it. */ catalog: Catalog; /** `GET /company/invoices?limit&offset&include_pending`. */ invoices: InvoicePage; /** * `GET /company/upcoming-invoice`. `null` is a loaded value — the company * has no next bill, which the endpoint reports as a 204 — so only * `undefined` means the resource has not loaded. */ upcomingInvoice: UpcomingInvoice | null; /** * `GET /company/payment-methods`. Empty is a loaded value — the company * has no method on file — so only `undefined` means not loaded. */ paymentMethods: PaymentMethod[]; /** * `GET /company/usage`. Empty is a loaded value — the company is entitled * to nothing — so only `undefined` means not loaded. */ featureUsage: FeatureUsage[]; /** * `GET /company/credits`. Empty is a loaded value — the company holds no * credits and its plan draws on none — so only `undefined` means not * loaded. */ creditBalances: CreditBalanceEntry[]; /** `GET /company`. */ company: Company; /** * `GET /checkout/tax-id`. Empty is a loaded value — the company has none on * file — so only `undefined` means not loaded. */ taxIds: TaxId[]; } /** * * @export */ declare const BillingStrategy: { readonly SchematicManaged: "schematic_managed"; readonly ProviderManaged: "provider_managed"; readonly NoBilling: "no_billing"; }; declare type BillingStrategy = (typeof BillingStrategy)[keyof typeof BillingStrategy]; declare function BillingStrategyFromJSON(json: any): BillingStrategy; declare function BillingStrategyFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingStrategy; declare function BillingStrategyToJSON(value?: BillingStrategy | null): any; declare function BillingStrategyToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingStrategy; /** * * @export */ declare const BillingSubscriptionTrialEndSetting: { readonly Cancel: "cancel"; readonly Subscribe: "subscribe"; }; declare type BillingSubscriptionTrialEndSetting = (typeof BillingSubscriptionTrialEndSetting)[keyof typeof BillingSubscriptionTrialEndSetting]; declare function BillingSubscriptionTrialEndSettingFromJSON(json: any): BillingSubscriptionTrialEndSetting; declare function BillingSubscriptionTrialEndSettingFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingSubscriptionTrialEndSetting; declare function BillingSubscriptionTrialEndSettingToJSON(value?: BillingSubscriptionTrialEndSetting | null): any; declare function BillingSubscriptionTrialEndSettingToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingSubscriptionTrialEndSetting; /** * * @export */ declare const BillingTiersMode: { readonly Graduated: "graduated"; readonly Volume: "volume"; }; declare type BillingTiersMode = (typeof BillingTiersMode)[keyof typeof BillingTiersMode]; declare function BillingTiersModeFromJSON(json: any): BillingTiersMode; declare function BillingTiersModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingTiersMode; declare function BillingTiersModeToJSON(value?: BillingTiersMode | null): any; declare function BillingTiersModeToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingTiersMode; export declare type BooleanListenerFn = (value: boolean) => void; /** * What the company can buy, and how it stands against each of it. What the * server has already decided, so a consumer never re-derives it: * * * On each plan and add-on, `current`, `valid` with its `invalidReason` and * `usageViolations`, and `companyCanTrial`. * * `capabilities.checkout` — whether this company can check out at all. * * `checkoutSettings` — what checkout collects, custom fields included. * * `compatiblePlanIds` on add-ons and bundles — `undefined` means every * plan, and an empty list none. */ export declare type Catalog = CompanyCatalogResponseData; export declare type CatalogAutoTopup = CatalogAutoTopupResponseData; /** * * @export * @interface CatalogAutoTopupResponseData */ export declare interface CatalogAutoTopupResponseData { /** * Credits bought per top-up, as the plan sets it. * @type {number} * @memberof CatalogAutoTopupResponseData */ amount?: number | null; /** * automatic tops up on the plan's settings; user_controlled lets the company choose its own. * @type {BillingCreditAutoTopupAvailability} * @memberof CatalogAutoTopupResponseData */ availability: BillingCreditAutoTopupAvailability; /** * The company's own amount, when it has chosen one. * @type {number} * @memberof CatalogAutoTopupResponseData */ companyAmount?: number | null; /** * Whether the company has turned top-ups on, when it has chosen. * @type {boolean} * @memberof CatalogAutoTopupResponseData */ companyEnabled?: boolean | null; /** * The company's own threshold, when it has chosen one. * @type {number} * @memberof CatalogAutoTopupResponseData */ companyThresholdCredits?: number | null; /** * * @type {string} * @memberof CatalogAutoTopupResponseData */ creditId: string; /** * The credit's unit price in each other currency it is sold in. * @type {Array} * @memberof CatalogAutoTopupResponseData */ currencyPrices: Array; /** * Whether the plan tops up by default. * @type {boolean} * @memberof CatalogAutoTopupResponseData */ enabled: boolean; /** * * @type {string} * @memberof CatalogAutoTopupResponseData */ planCreditGrantId: string; /** * The balance below which a top-up runs, as the plan sets it. * @type {number} * @memberof CatalogAutoTopupResponseData */ thresholdCredits?: number | null; /** * The credit's price per unit, which a top-up is charged at. * @type {CatalogPriceResponseData} * @memberof CatalogAutoTopupResponseData */ unitPrice?: CatalogPriceResponseData; } declare function CatalogAutoTopupResponseDataFromJSON(json: any): CatalogAutoTopupResponseData; declare function CatalogAutoTopupResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogAutoTopupResponseData; declare function CatalogAutoTopupResponseDataToJSON(json: any): CatalogAutoTopupResponseData; declare function CatalogAutoTopupResponseDataToJSONTyped(value?: CatalogAutoTopupResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CatalogBundleCurrencyPriceResponseData */ export declare interface CatalogBundleCurrencyPriceResponseData { /** * * @type {Currency} * @memberof CatalogBundleCurrencyPriceResponseData */ currency: Currency; /** * * @type {CatalogPriceResponseData} * @memberof CatalogBundleCurrencyPriceResponseData */ price?: CatalogPriceResponseData; /** * * @type {CatalogPriceResponseData} * @memberof CatalogBundleCurrencyPriceResponseData */ unitPrice?: CatalogPriceResponseData; } declare function CatalogBundleCurrencyPriceResponseDataFromJSON(json: any): CatalogBundleCurrencyPriceResponseData; declare function CatalogBundleCurrencyPriceResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogBundleCurrencyPriceResponseData; declare function CatalogBundleCurrencyPriceResponseDataToJSON(json: any): CatalogBundleCurrencyPriceResponseData; declare function CatalogBundleCurrencyPriceResponseDataToJSONTyped(value?: CatalogBundleCurrencyPriceResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CatalogCapabilitiesResponseData */ declare interface CatalogCapabilitiesResponseData { /** * Whether the consumer may hide the 'powered by Schematic' badge (the account's badge-hideable entitlement); false means the badge must be shown. * @type {boolean} * @memberof CatalogCapabilitiesResponseData */ badgeVisibility: boolean; /** * * @type {boolean} * @memberof CatalogCapabilitiesResponseData */ checkout: boolean; } declare function CatalogCapabilitiesResponseDataFromJSON(json: any): CatalogCapabilitiesResponseData; declare function CatalogCapabilitiesResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogCapabilitiesResponseData; declare function CatalogCapabilitiesResponseDataToJSON(json: any): CatalogCapabilitiesResponseData; declare function CatalogCapabilitiesResponseDataToJSONTyped(value?: CatalogCapabilitiesResponseData | null, ignoreDiscriminator?: boolean): any; export declare type CatalogCheckoutField = CatalogCheckoutFieldResponseData; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CatalogCheckoutFieldResponseData */ export declare interface CatalogCheckoutFieldResponseData { /** * * @type {string} * @memberof CatalogCheckoutFieldResponseData */ helperText?: string | null; /** * * @type {string} * @memberof CatalogCheckoutFieldResponseData */ id: string; /** * * @type {string} * @memberof CatalogCheckoutFieldResponseData */ name: string; /** * A checkout with this field empty is refused with custom_field_required. * @type {boolean} * @memberof CatalogCheckoutFieldResponseData */ required: boolean; /** * The company's saved value, when it has one. * @type {string} * @memberof CatalogCheckoutFieldResponseData */ value?: string | null; } declare function CatalogCheckoutFieldResponseDataFromJSON(json: any): CatalogCheckoutFieldResponseData; declare function CatalogCheckoutFieldResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogCheckoutFieldResponseData; declare function CatalogCheckoutFieldResponseDataToJSON(json: any): CatalogCheckoutFieldResponseData; declare function CatalogCheckoutFieldResponseDataToJSONTyped(value?: CatalogCheckoutFieldResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CatalogCheckoutSettingsResponseData */ export declare interface CatalogCheckoutSettingsResponseData { /** * * @type {CheckoutBundlePurchaseBehavior} * @memberof CatalogCheckoutSettingsResponseData */ bundlePurchaseBehavior: CheckoutBundlePurchaseBehavior; /** * * @type {boolean} * @memberof CatalogCheckoutSettingsResponseData */ collectAddress: boolean; /** * * @type {boolean} * @memberof CatalogCheckoutSettingsResponseData */ collectEmail: boolean; /** * * @type {boolean} * @memberof CatalogCheckoutSettingsResponseData */ collectPhone: boolean; /** * * @type {boolean} * @memberof CatalogCheckoutSettingsResponseData */ collectTaxId: boolean; /** * The custom fields checkout collects; a checkout sends their values as custom_field_values by id. * @type {Array} * @memberof CatalogCheckoutSettingsResponseData */ customFields: Array; /** * * @type {ProrationBehavior} * @memberof CatalogCheckoutSettingsResponseData */ prorationBehavior: ProrationBehavior; /** * * @type {boolean} * @memberof CatalogCheckoutSettingsResponseData */ taxCollectionEnabled: boolean; } declare function CatalogCheckoutSettingsResponseDataFromJSON(json: any): CatalogCheckoutSettingsResponseData; declare function CatalogCheckoutSettingsResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogCheckoutSettingsResponseData; declare function CatalogCheckoutSettingsResponseDataToJSON(json: any): CatalogCheckoutSettingsResponseData; declare function CatalogCheckoutSettingsResponseDataToJSONTyped(value?: CatalogCheckoutSettingsResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CatalogCompanyPlanResponseData */ export declare interface CatalogCompanyPlanResponseData { /** * The plan's included credits that top up automatically or let the company choose to. Empty for add-ons. * @type {Array} * @memberof CatalogCompanyPlanResponseData */ autoTopups: Array; /** * * @type {Array} * @memberof CatalogCompanyPlanResponseData */ availablePeriods: Array; /** * * @type {BillingStrategy} * @memberof CatalogCompanyPlanResponseData */ billingStrategy: BillingStrategy; /** * * @type {ChargeType} * @memberof CatalogCompanyPlanResponseData */ chargeType: ChargeType; /** * * @type {boolean} * @memberof CatalogCompanyPlanResponseData */ companyCanTrial: boolean; /** * For add-ons, the plans this add-on may be purchased with. Null means compatible with every plan. * @type {Array} * @memberof CatalogCompanyPlanResponseData */ compatiblePlanIds?: Array | null; /** * * @type {Array} * @memberof CatalogCompanyPlanResponseData */ currencyPrices: Array; /** * * @type {boolean} * @memberof CatalogCompanyPlanResponseData */ current: boolean; /** * * @type {string} * @memberof CatalogCompanyPlanResponseData */ description: string; /** * * @type {Array} * @memberof CatalogCompanyPlanResponseData */ entitlements: Array; /** * * @type {string} * @memberof CatalogCompanyPlanResponseData */ icon: string; /** * * @type {string} * @memberof CatalogCompanyPlanResponseData */ id: string; /** * * @type {Array} * @memberof CatalogCompanyPlanResponseData */ includedCreditGrants: Array; /** * * @type {CompanyPlanInvalidReason} * @memberof CatalogCompanyPlanResponseData */ invalidReason?: CompanyPlanInvalidReason | null; /** * * @type {boolean} * @memberof CatalogCompanyPlanResponseData */ isTrialable: boolean; /** * * @type {CatalogPriceResponseData} * @memberof CatalogCompanyPlanResponseData */ monthlyPrice?: CatalogPriceResponseData; /** * * @type {string} * @memberof CatalogCompanyPlanResponseData */ name: string; /** * * @type {CatalogPriceResponseData} * @memberof CatalogCompanyPlanResponseData */ oneTimePrice?: CatalogPriceResponseData; /** * * @type {CatalogPriceResponseData} * @memberof CatalogCompanyPlanResponseData */ quarterlyPrice?: CatalogPriceResponseData; /** * * @type {number} * @memberof CatalogCompanyPlanResponseData */ trialDays?: number | null; /** * * @type {Array} * @memberof CatalogCompanyPlanResponseData */ usageViolations: Array; /** * * @type {boolean} * @memberof CatalogCompanyPlanResponseData */ valid: boolean; /** * * @type {CatalogPriceResponseData} * @memberof CatalogCompanyPlanResponseData */ yearlyPrice?: CatalogPriceResponseData; } declare function CatalogCompanyPlanResponseDataFromJSON(json: any): CatalogCompanyPlanResponseData; declare function CatalogCompanyPlanResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogCompanyPlanResponseData; declare function CatalogCompanyPlanResponseDataToJSON(json: any): CatalogCompanyPlanResponseData; declare function CatalogCompanyPlanResponseDataToJSONTyped(value?: CatalogCompanyPlanResponseData | null, ignoreDiscriminator?: boolean): any; export declare type CatalogCreditBundle = CatalogCreditBundleResponseData; /** * * @export * @interface CatalogCreditBundleResponseData */ export declare interface CatalogCreditBundleResponseData { /** * * @type {BillingCreditBundleType} * @memberof CatalogCreditBundleResponseData */ bundleType: BillingCreditBundleType; /** * The plans whose companies may purchase this bundle. Null means compatible with every plan. * @type {Array} * @memberof CatalogCreditBundleResponseData */ compatiblePlanIds?: Array | null; /** * * @type {string} * @memberof CatalogCreditBundleResponseData */ creditIcon?: string | null; /** * * @type {string} * @memberof CatalogCreditBundleResponseData */ creditId: string; /** * * @type {string} * @memberof CatalogCreditBundleResponseData */ creditName: string; /** * * @type {string} * @memberof CatalogCreditBundleResponseData */ creditPluralName?: string | null; /** * * @type {string} * @memberof CatalogCreditBundleResponseData */ creditSingularName?: string | null; /** * * @type {Array} * @memberof CatalogCreditBundleResponseData */ currencyPrices: Array; /** * * @type {BillingCreditExpiryType} * @memberof CatalogCreditBundleResponseData */ expiryType: BillingCreditExpiryType; /** * * @type {BillingCreditExpiryUnit} * @memberof CatalogCreditBundleResponseData */ expiryUnit: BillingCreditExpiryUnit; /** * * @type {number} * @memberof CatalogCreditBundleResponseData */ expiryUnitCount?: number | null; /** * * @type {string} * @memberof CatalogCreditBundleResponseData */ id: string; /** * * @type {string} * @memberof CatalogCreditBundleResponseData */ name: string; /** * * @type {CatalogPriceResponseData} * @memberof CatalogCreditBundleResponseData */ price?: CatalogPriceResponseData; /** * Credits granted per purchase; null means the buyer chooses a custom quantity priced via unit_price. * @type {number} * @memberof CatalogCreditBundleResponseData */ quantity?: number | null; /** * * @type {CatalogPriceResponseData} * @memberof CatalogCreditBundleResponseData */ unitPrice?: CatalogPriceResponseData; } declare function CatalogCreditBundleResponseDataFromJSON(json: any): CatalogCreditBundleResponseData; declare function CatalogCreditBundleResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogCreditBundleResponseData; declare function CatalogCreditBundleResponseDataToJSON(json: any): CatalogCreditBundleResponseData; declare function CatalogCreditBundleResponseDataToJSONTyped(value?: CatalogCreditBundleResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CatalogCreditGrantResponseData */ export declare interface CatalogCreditGrantResponseData { /** * Flat credit amount granted to the company regardless of scaling. * @type {number} * @memberof CatalogCreditGrantResponseData */ companyCreditAmount: number; /** * Credits granted; for per_license scaling this is the amount per license unit. * @type {number} * @memberof CatalogCreditGrantResponseData */ creditAmount: number; /** * * @type {string} * @memberof CatalogCreditGrantResponseData */ creditIcon?: string | null; /** * * @type {string} * @memberof CatalogCreditGrantResponseData */ creditId: string; /** * * @type {string} * @memberof CatalogCreditGrantResponseData */ creditName: string; /** * * @type {string} * @memberof CatalogCreditGrantResponseData */ creditPluralName?: string | null; /** * * @type {string} * @memberof CatalogCreditGrantResponseData */ creditSingularName?: string | null; /** * * @type {string} * @memberof CatalogCreditGrantResponseData */ id: string; /** * * @type {string} * @memberof CatalogCreditGrantResponseData */ licenseId?: string | null; /** * * @type {BillingPlanCreditGrantResetCadence} * @memberof CatalogCreditGrantResponseData */ resetCadence?: BillingPlanCreditGrantResetCadence | null; /** * * @type {PlanCreditGrantScaling} * @memberof CatalogCreditGrantResponseData */ scaling: PlanCreditGrantScaling; } declare function CatalogCreditGrantResponseDataFromJSON(json: any): CatalogCreditGrantResponseData; declare function CatalogCreditGrantResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogCreditGrantResponseData; declare function CatalogCreditGrantResponseDataToJSON(json: any): CatalogCreditGrantResponseData; declare function CatalogCreditGrantResponseDataToJSONTyped(value?: CatalogCreditGrantResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CatalogCurrencyPricesResponseData */ export declare interface CatalogCurrencyPricesResponseData { /** * * @type {Currency} * @memberof CatalogCurrencyPricesResponseData */ currency: Currency; /** * * @type {CatalogPriceResponseData} * @memberof CatalogCurrencyPricesResponseData */ monthlyPrice?: CatalogPriceResponseData; /** * * @type {CatalogPriceResponseData} * @memberof CatalogCurrencyPricesResponseData */ oneTimePrice?: CatalogPriceResponseData; /** * * @type {CatalogPriceResponseData} * @memberof CatalogCurrencyPricesResponseData */ quarterlyPrice?: CatalogPriceResponseData; /** * * @type {CatalogPriceResponseData} * @memberof CatalogCurrencyPricesResponseData */ yearlyPrice?: CatalogPriceResponseData; } declare function CatalogCurrencyPricesResponseDataFromJSON(json: any): CatalogCurrencyPricesResponseData; declare function CatalogCurrencyPricesResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogCurrencyPricesResponseData; declare function CatalogCurrencyPricesResponseDataToJSON(json: any): CatalogCurrencyPricesResponseData; declare function CatalogCurrencyPricesResponseDataToJSONTyped(value?: CatalogCurrencyPricesResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CatalogCustomPlanCTAResponseData */ declare interface CatalogCustomPlanCTAResponseData { /** * * @type {string} * @memberof CatalogCustomPlanCTAResponseData */ ctaText?: string | null; /** * * @type {string} * @memberof CatalogCustomPlanCTAResponseData */ ctaUrl?: string | null; /** * * @type {string} * @memberof CatalogCustomPlanCTAResponseData */ priceText?: string | null; } declare function CatalogCustomPlanCTAResponseDataFromJSON(json: any): CatalogCustomPlanCTAResponseData; declare function CatalogCustomPlanCTAResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogCustomPlanCTAResponseData; declare function CatalogCustomPlanCTAResponseDataToJSON(json: any): CatalogCustomPlanCTAResponseData; declare function CatalogCustomPlanCTAResponseDataToJSONTyped(value?: CatalogCustomPlanCTAResponseData | null, ignoreDiscriminator?: boolean): any; export declare type CatalogEntitlement = CatalogPlanEntitlementResponseData; export declare type CatalogPlan = CatalogCompanyPlanResponseData; /** * * @export * @interface CatalogPlanEntitlementResponseData */ export declare interface CatalogPlanEntitlementResponseData { /** * Credits consumed per unit of usage, for credit-burndown entitlements. * @type {number} * @memberof CatalogPlanEntitlementResponseData */ consumptionRate?: number | null; /** * How many units of usage the plan's fixed included credit grants cover (⌊granted credits ÷ consumption rate⌋). Null when there is no fixed grant or the grant scales per license. * @type {number} * @memberof CatalogPlanEntitlementResponseData */ creditEquivalentLimit?: number | null; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ creditIcon?: string | null; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ creditId?: string | null; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ creditName?: string | null; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ creditPluralName?: string | null; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ creditSingularName?: string | null; /** * * @type {Array} * @memberof CatalogPlanEntitlementResponseData */ currencyPrices: Array; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ featureDescription: string; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ featureIcon: string; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ featureId: string; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ featureName: string; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ featurePluralName?: string | null; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ featureSingularName?: string | null; /** * * @type {FeatureType} * @memberof CatalogPlanEntitlementResponseData */ featureType: FeatureType; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ id: string; /** * * @type {string} * @memberof CatalogPlanEntitlementResponseData */ licenseId?: string | null; /** * * @type {CatalogPriceResponseData} * @memberof CatalogPlanEntitlementResponseData */ meteredMonthlyPrice?: CatalogPriceResponseData; /** * * @type {CatalogPriceResponseData} * @memberof CatalogPlanEntitlementResponseData */ meteredQuarterlyPrice?: CatalogPriceResponseData; /** * * @type {CatalogPriceResponseData} * @memberof CatalogPlanEntitlementResponseData */ meteredYearlyPrice?: CatalogPriceResponseData; /** * * @type {MetricPeriod} * @memberof CatalogPlanEntitlementResponseData */ metricPeriod?: MetricPeriod_2 | null; /** * * @type {MetricPeriodMonthReset} * @memberof CatalogPlanEntitlementResponseData */ metricPeriodMonthReset?: MetricPeriodMonthReset_2 | null; /** * * @type {EntitlementPriceBehavior} * @memberof CatalogPlanEntitlementResponseData */ priceBehavior?: EntitlementPriceBehavior | null; /** * * @type {number} * @memberof CatalogPlanEntitlementResponseData */ softLimit?: number | null; /** * * @type {boolean} * @memberof CatalogPlanEntitlementResponseData */ valueBool?: boolean | null; /** * * @type {number} * @memberof CatalogPlanEntitlementResponseData */ valueNumeric?: number | null; /** * * @type {EntitlementValueType} * @memberof CatalogPlanEntitlementResponseData */ valueType: EntitlementValueType_2; /** * The default warning-tier value, when configured. * @type {number} * @memberof CatalogPlanEntitlementResponseData */ warningThreshold?: number | null; } declare function CatalogPlanEntitlementResponseDataFromJSON(json: any): CatalogPlanEntitlementResponseData; declare function CatalogPlanEntitlementResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogPlanEntitlementResponseData; declare function CatalogPlanEntitlementResponseDataToJSON(json: any): CatalogPlanEntitlementResponseData; declare function CatalogPlanEntitlementResponseDataToJSONTyped(value?: CatalogPlanEntitlementResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CatalogPlanRefResponseData */ declare interface CatalogPlanRefResponseData { /** * * @type {string} * @memberof CatalogPlanRefResponseData */ id: string; /** * * @type {string} * @memberof CatalogPlanRefResponseData */ name: string; } declare function CatalogPlanRefResponseDataFromJSON(json: any): CatalogPlanRefResponseData; declare function CatalogPlanRefResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogPlanRefResponseData; declare function CatalogPlanRefResponseDataToJSON(json: any): CatalogPlanRefResponseData; declare function CatalogPlanRefResponseDataToJSONTyped(value?: CatalogPlanRefResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CatalogPriceResponseData */ export declare interface CatalogPriceResponseData { /** * * @type {Currency} * @memberof CatalogPriceResponseData */ currency: Currency; /** * * @type {string} * @memberof CatalogPriceResponseData */ id: string; /** * * @type {BillingProductPriceInterval} * @memberof CatalogPriceResponseData */ interval: BillingProductPriceInterval; /** * * @type {number} * @memberof CatalogPriceResponseData */ intervalCount: number; /** * Per-unit price of the final tier, precomputed for overage display. * @type {string} * @memberof CatalogPriceResponseData */ overageUnitPriceDecimal?: string | null; /** * Units covered per priced package; a price of $10 with package_size 1000 charges $10 per 1000 units. * @type {number} * @memberof CatalogPriceResponseData */ packageSize: number; /** * * @type {number} * @memberof CatalogPriceResponseData */ price: number; /** * * @type {string} * @memberof CatalogPriceResponseData */ priceDecimal?: string | null; /** * * @type {Array} * @memberof CatalogPriceResponseData */ priceTiers: Array; /** * * @type {BillingPriceScheme} * @memberof CatalogPriceResponseData */ scheme: BillingPriceScheme; /** * * @type {BillingTiersMode} * @memberof CatalogPriceResponseData */ tiersMode?: BillingTiersMode | null; } declare function CatalogPriceResponseDataFromJSON(json: any): CatalogPriceResponseData; declare function CatalogPriceResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogPriceResponseData; declare function CatalogPriceResponseDataToJSON(json: any): CatalogPriceResponseData; declare function CatalogPriceResponseDataToJSONTyped(value?: CatalogPriceResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CatalogPriceTierResponseData */ export declare interface CatalogPriceTierResponseData { /** * * @type {number} * @memberof CatalogPriceTierResponseData */ flatPrice?: number | null; /** * Lower bound of the tier (inclusive). * @type {number} * @memberof CatalogPriceTierResponseData */ from: number; /** * * @type {number} * @memberof CatalogPriceTierResponseData */ perUnitPrice?: number | null; /** * * @type {string} * @memberof CatalogPriceTierResponseData */ perUnitPriceDecimal?: string | null; /** * Upper bound of the tier (inclusive); null means unbounded. * @type {number} * @memberof CatalogPriceTierResponseData */ to?: number | null; } declare function CatalogPriceTierResponseDataFromJSON(json: any): CatalogPriceTierResponseData; declare function CatalogPriceTierResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogPriceTierResponseData; declare function CatalogPriceTierResponseDataToJSON(json: any): CatalogPriceTierResponseData; declare function CatalogPriceTierResponseDataToJSONTyped(value?: CatalogPriceTierResponseData | null, ignoreDiscriminator?: boolean): any; /** Each catalog is its own resource; none names the environment's own. */ export declare interface CatalogQuery { catalogId?: string; } /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CatalogUsageViolationResponseData */ declare interface CatalogUsageViolationResponseData { /** * * @type {string} * @memberof CatalogUsageViolationResponseData */ featureId: string; /** * * @type {string} * @memberof CatalogUsageViolationResponseData */ featureName: string; /** * The limit the target plan would impose; null means unlimited. * @type {number} * @memberof CatalogUsageViolationResponseData */ limit?: number | null; /** * * @type {number} * @memberof CatalogUsageViolationResponseData */ usage: number; } declare function CatalogUsageViolationResponseDataFromJSON(json: any): CatalogUsageViolationResponseData; declare function CatalogUsageViolationResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CatalogUsageViolationResponseData; declare function CatalogUsageViolationResponseDataToJSON(json: any): CatalogUsageViolationResponseData; declare function CatalogUsageViolationResponseDataToJSONTyped(value?: CatalogUsageViolationResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export */ declare const ChargeType: { readonly Free: "free"; readonly None: "none"; readonly OneTime: "one_time"; readonly Recurring: "recurring"; }; declare type ChargeType = (typeof ChargeType)[keyof typeof ChargeType]; declare function ChargeTypeFromJSON(json: any): ChargeType; declare function ChargeTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChargeType; declare function ChargeTypeToJSON(value?: ChargeType | null): any; declare function ChargeTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): ChargeType; /** * * @export * @interface CheckFlagResponse */ declare interface CheckFlagResponse { /** * * @type {CheckFlagResponseData} * @memberof CheckFlagResponse */ data: CheckFlagResponseData; /** * Input parameters * @type {object} * @memberof CheckFlagResponse */ params: object; } /** * * @export * @interface CheckFlagResponseData */ export declare interface CheckFlagResponseData { /** * If company keys were provided and matched a company, its ID * @type {string} * @memberof CheckFlagResponseData */ companyId?: string | null; /** * If a feature entitlement rule was matched, its entitlement details * @type {FeatureEntitlement} * @memberof CheckFlagResponseData */ entitlement?: FeatureEntitlement; /** * If an error occurred while checking the flag, the error message * @type {string} * @memberof CheckFlagResponseData */ error?: string | null; /** * Deprecated: Use Entitlement.Allocation instead. * @type {number} * @memberof CheckFlagResponseData * @deprecated */ featureAllocation?: number | null; /** * Deprecated: Use Entitlement.Usage instead. * @type {number} * @memberof CheckFlagResponseData * @deprecated */ featureUsage?: number | null; /** * Deprecated: Use Entitlement.EventName instead. * @type {string} * @memberof CheckFlagResponseData * @deprecated */ featureUsageEvent?: string | null; /** * Deprecated: Use Entitlement.MetricPeriod instead. * @type {MetricPeriod} * @memberof CheckFlagResponseData * @deprecated */ featureUsagePeriod?: MetricPeriod | null; /** * Deprecated: Use Entitlement.MetricResetAt instead. * @type {Date} * @memberof CheckFlagResponseData * @deprecated */ featureUsageResetAt?: Date | null; /** * The key used to check the flag * @type {string} * @memberof CheckFlagResponseData */ flag: string; /** * If a flag was found, its ID * @type {string} * @memberof CheckFlagResponseData */ flagId?: string | null; /** * A human-readable explanation of the result * @type {string} * @memberof CheckFlagResponseData */ reason: string; /** * If a rule was found, its ID * @type {string} * @memberof CheckFlagResponseData */ ruleId?: string | null; /** * If a rule was found, its type * @type {RuleType} * @memberof CheckFlagResponseData */ ruleType?: RuleType_2 | null; /** * If user keys were provided and matched a user, its ID * @type {string} * @memberof CheckFlagResponseData */ userId?: string | null; /** * A boolean flag check result; for feature entitlements, this represents whether further consumption of the feature is permitted * @type {boolean} * @memberof CheckFlagResponseData */ value: boolean; } export declare function CheckFlagResponseFromJSON(json: any): CheckFlagResponse; export declare type CheckFlagReturn = { /** The company has access to the feature, but has exceeded the usage limit */ featureUsageExceeded?: boolean; /** If company keys were provided and matched a company, its ID */ companyId?: string; /** If the company has a credit-based entitlement for this feature, the ID of the credit */ creditId?: string; /** If the company has a credit-based entitlement for this feature, the credit available to fund new consumption excluding any open lease hold (the value lease-holding SDKs gate on) */ creditRemaining?: number; /** If the company has a credit-based entitlement for this feature, the unspent amount held by an open credit lease, 0 when none is open */ creditReserved?: number; /** If the company has a credit-based entitlement for this feature, the spendable balance including any open lease hold (creditRemaining + creditReserved); the number to display to end users */ creditSettled?: number; /** If an error occurred while checking the flag, the error message */ error?: string; /** If a numeric feature entitlement rule was matched, its allocation */ featureAllocation?: number; /** If a numeric feature entitlement rule was matched, the company's usage */ featureUsage?: number; /** Event representing the feature usage */ featureUsageEvent?: string; /** For event-based feature entitlement rules, the period over which usage is tracked (current_month, current_day, current_week, all_time) */ featureUsagePeriod?: UsagePeriod; /** For event-based feature entitlement rules, when the usage period will reset */ featureUsageResetAt?: Date; /** The key used to check the flag */ flag: string; /** If a flag was found, its ID */ flagId?: string; /** A human-readable explanation of the result */ reason: string; /** If a rule was found, its ID */ ruleId?: string; /** If a rule was found, its type */ ruleType?: RuleType; /** For usage-based pricing, the soft limit for overage charges or the next tier boundary */ softLimit?: number; /** If user keys were provided and matched a user, its ID */ userId?: string; /** A boolean flag check result; for feature entitlements, this represents whether further consumption of the feature is permitted */ value: boolean; /** Customer-defined usage warning thresholds configured on this entitlement */ warningTiers?: WarningTier[]; }; export declare const CheckFlagReturnFromJSON: (json: any) => CheckFlagReturn; export declare type CheckFlagReturnListenerFn = (value: CheckFlagReturn) => void; /** * * @export * @interface CheckFlagsResponse */ declare interface CheckFlagsResponse { /** * * @type {CheckFlagsResponseData} * @memberof CheckFlagsResponse */ data: CheckFlagsResponseData; /** * Input parameters * @type {object} * @memberof CheckFlagsResponse */ params: object; } /** * * @export * @interface CheckFlagsResponseData */ declare interface CheckFlagsResponseData { /** * Lease-aware credit balances keyed by credit ID, covering every credit type the company holds a balance in * @type {{ [key: string]: CompanyCreditBalance; }} * @memberof CheckFlagsResponseData */ creditBalances?: { [key: string]: CompanyCreditBalance; }; /** * Credit spend policies binding the evaluated company and user; empty when none bind. Each response carries the whole set, so replace any previously received set with it. Advisory: the flag values do not reflect them, since a check names no draw amount * @type {Array} * @memberof CheckFlagsResponseData */ creditSpendPolicies: Array; /** * * @type {Array} * @memberof CheckFlagsResponseData */ flags: Array; /** * * @type {DatastreamCompanyPlan} * @memberof CheckFlagsResponseData */ plan?: DatastreamCompanyPlan; } export declare function CheckFlagsResponseFromJSON(json: any): CheckFlagsResponse; export declare type CheckOptions = { context?: SchematicContext; fallback?: boolean; key: string; }; /** * One checkout as the server holds it: its `selections`, the `version` a * write must name, the price it was last priced at (`priceSnapshot`, absent * until the cart is priceable), and what is wrong with it (`problems`). */ export declare type Checkout = CheckoutDraftResponseData; /** The header a checkout's session rides in, both ways. */ export declare const CHECKOUT_SESSION_HEADER = "X-Checkout-Session-ID"; /** * * @export */ declare const CheckoutBundlePurchaseBehavior: { readonly Individual: "individual"; readonly Quantity: "quantity"; }; declare type CheckoutBundlePurchaseBehavior = (typeof CheckoutBundlePurchaseBehavior)[keyof typeof CheckoutBundlePurchaseBehavior]; declare function CheckoutBundlePurchaseBehaviorFromJSON(json: any): CheckoutBundlePurchaseBehavior; declare function CheckoutBundlePurchaseBehaviorFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutBundlePurchaseBehavior; declare function CheckoutBundlePurchaseBehaviorToJSON(value?: CheckoutBundlePurchaseBehavior | null): any; declare function CheckoutBundlePurchaseBehaviorToJSONTyped(value: any, ignoreDiscriminator: boolean): CheckoutBundlePurchaseBehavior; /** * * @export */ declare const CheckoutChargeTiming: { readonly AtRenewal: "at_renewal"; readonly None: "none"; readonly Now: "now"; }; declare type CheckoutChargeTiming = (typeof CheckoutChargeTiming)[keyof typeof CheckoutChargeTiming]; declare function CheckoutChargeTimingFromJSON(json: any): CheckoutChargeTiming; declare function CheckoutChargeTimingFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutChargeTiming; declare function CheckoutChargeTimingToJSON(value?: CheckoutChargeTiming | null): any; declare function CheckoutChargeTimingToJSONTyped(value: any, ignoreDiscriminator: boolean): CheckoutChargeTiming; /** * One write at a time: each needs the version the last answered with. A * write asked for while one is out waits, and a newer one replaces it and * answers everybody waiting on it. */ export declare class CheckoutDraft { private readonly transport; private readonly listeners; private _state; private checkoutId; private version; private sessionId; /** Bumped by reset, so an answer for a discarded draft lands nowhere. */ private generation; private inFlight; private queued; constructor(transport: CheckoutTransport, options?: CheckoutDraftOptions); /** * Starts over whenever the session changes to somebody else: another * reader's cart is not this one's to finalize. Returns the unsubscribe. */ watchSession(onSessionChange: BillingClient["onSessionChange"]): () => void; get state(): CheckoutDraftState; subscribe(listener: () => void): () => void; /** * Reads the checkout this draft was opened on, for a resume. A draft with * no checkout yet has nothing to read. */ load(): Promise; /** * Replaces the cart and re-prices it. Resolves with the checkout the write * that carried this cart left — a later cart's, when a newer call replaced * it before it was sent — or `undefined` when the draft was reset first. */ setSelections(selections: CheckoutSelections): Promise; /** * Charges the checkout at the version the last write left, once every * write asked for has landed. A refusal on the cart's problems puts them on * the state and rejects; so does anything else. */ finalize(): Promise; /** Drops the checkout; the next write opens a new one. */ reset(): void; /** Resolves once nothing is in flight or queued. */ private settled; private pump; private write; /** * A 409 is a stale version or a checkout no longer open; one read tells * which, replaying on the current version or opening a new checkout with * the same cart. A second conflict is somebody else's and surfaces. */ private updateWithReplay; private finalizeOnce; private refresh; private adopt; private update; } export declare interface CheckoutDraftOptions { /** Resume this checkout rather than opening one on the first write. */ checkoutId?: string; } /** * * @export * @interface CheckoutDraftResponseData */ export declare interface CheckoutDraftResponseData { /** * * @type {string} * @memberof CheckoutDraftResponseData */ companyId: string; /** * * @type {Date} * @memberof CheckoutDraftResponseData */ completedAt?: Date | null; /** * * @type {Date} * @memberof CheckoutDraftResponseData */ createdAt: Date; /** * * @type {Date} * @memberof CheckoutDraftResponseData */ expiresAt?: Date | null; /** * * @type {string} * @memberof CheckoutDraftResponseData */ id: string; /** * * @type {Date} * @memberof CheckoutDraftResponseData */ lastActivityAt: Date; /** * * @type {CheckoutPriceSnapshot} * @memberof CheckoutDraftResponseData */ priceSnapshot?: CheckoutPriceSnapshot; /** * * @type {Date} * @memberof CheckoutDraftResponseData */ pricedAt?: Date | null; /** * * @type {Array} * @memberof CheckoutDraftResponseData */ problems: Array; /** * * @type {CheckoutSelectionsResponseData} * @memberof CheckoutDraftResponseData */ selections: CheckoutSelectionsResponseData; /** * * @type {string} * @memberof CheckoutDraftResponseData */ shareToken?: string | null; /** * * @type {CheckoutStatus} * @memberof CheckoutDraftResponseData */ status: CheckoutStatus; /** * * @type {Date} * @memberof CheckoutDraftResponseData */ updatedAt: Date; /** * * @type {number} * @memberof CheckoutDraftResponseData */ version: number; } declare function CheckoutDraftResponseDataFromJSON(json: any): CheckoutDraftResponseData; declare function CheckoutDraftResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutDraftResponseData; declare function CheckoutDraftResponseDataToJSON(json: any): CheckoutDraftResponseData; declare function CheckoutDraftResponseDataToJSONTyped(value?: CheckoutDraftResponseData | null, ignoreDiscriminator?: boolean): any; export declare interface CheckoutDraftState { /** The checkout as the last write left it; `undefined` until the first. */ checkout: Checkout | undefined; /** * What the server last found wrong: the priced checkout's problems, or the * list a refused finalize answered with. */ problems: CheckoutProblem[]; /** A write is in flight or waiting behind one. */ isPricing: boolean; isFinalizing: boolean; /** The last write or finalize that failed other than on its problems. */ error: Error | undefined; /** What the finalize charged, once it has. */ result: CheckoutResult | undefined; } /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CheckoutFieldValue */ declare interface CheckoutFieldValue { /** * * @type {string} * @memberof CheckoutFieldValue */ id: string; /** * * @type {string} * @memberof CheckoutFieldValue */ value: string; } declare function CheckoutFieldValueFromJSON(json: any): CheckoutFieldValue; declare function CheckoutFieldValueFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutFieldValue; declare function CheckoutFieldValueToJSON(json: any): CheckoutFieldValue; declare function CheckoutFieldValueToJSONTyped(value?: CheckoutFieldValue | null, ignoreDiscriminator?: boolean): any; /** * * @export */ export declare const CheckoutIntent: { readonly Cancel: "cancel"; readonly Change: "change"; }; export declare type CheckoutIntent = (typeof CheckoutIntent)[keyof typeof CheckoutIntent]; declare function CheckoutIntentFromJSON(json: any): CheckoutIntent; declare function CheckoutIntentFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutIntent; declare function CheckoutIntentToJSON(value?: CheckoutIntent | null): any; declare function CheckoutIntentToJSONTyped(value: any, ignoreDiscriminator: boolean): CheckoutIntent; /** * * @export * @interface CheckoutPriceSnapshot */ export declare interface CheckoutPriceSnapshot { /** * * @type {number} * @memberof CheckoutPriceSnapshot */ amountOff: number; /** * * @type {Currency} * @memberof CheckoutPriceSnapshot */ currency: Currency; /** * * @type {number} * @memberof CheckoutPriceSnapshot */ customerBalanceApplied: number; /** * * @type {number} * @memberof CheckoutPriceSnapshot */ customerBalanceRemaining: number; /** * * @type {number} * @memberof CheckoutPriceSnapshot */ discountAmount: number; /** * * @type {Array} * @memberof CheckoutPriceSnapshot */ discounts: Array; /** * * @type {number} * @memberof CheckoutPriceSnapshot */ dueNow: number; /** * * @type {boolean} * @memberof CheckoutPriceSnapshot */ isScheduledDowngrade: boolean; /** * * @type {number} * @memberof CheckoutPriceSnapshot */ newCharges: number; /** * * @type {boolean} * @memberof CheckoutPriceSnapshot */ optInRequired: boolean; /** * * @type {string} * @memberof CheckoutPriceSnapshot */ optInText?: string | null; /** * * @type {string} * @memberof CheckoutPriceSnapshot */ optInTitle?: string | null; /** * * @type {boolean} * @memberof CheckoutPriceSnapshot */ paymentMethodRequired: boolean; /** * * @type {number} * @memberof CheckoutPriceSnapshot */ percentOff: number; /** * * @type {Date} * @memberof CheckoutPriceSnapshot */ periodStart: Date; /** * * @type {Date} * @memberof CheckoutPriceSnapshot */ pricedAt: Date; /** * * @type {boolean} * @memberof CheckoutPriceSnapshot */ promoCodeApplied: boolean; /** * * @type {number} * @memberof CheckoutPriceSnapshot */ proration: number; /** * * @type {CheckoutPriceSnapshotProration} * @memberof CheckoutPriceSnapshot */ prorationDetail?: CheckoutPriceSnapshotProration; /** * * @type {Date} * @memberof CheckoutPriceSnapshot */ scheduledChangeTime?: Date | null; /** * * @type {number} * @memberof CheckoutPriceSnapshot */ taxAmount?: number | null; /** * * @type {number} * @memberof CheckoutPriceSnapshot */ totalPerBillingPeriod: number; /** * * @type {Date} * @memberof CheckoutPriceSnapshot */ trialEnd?: Date | null; } /** * * @export * @interface CheckoutPriceSnapshotDiscount */ declare interface CheckoutPriceSnapshotDiscount { /** * * @type {number} * @memberof CheckoutPriceSnapshotDiscount */ amountOff?: number | null; /** * * @type {string} * @memberof CheckoutPriceSnapshotDiscount */ couponExternalId: string; /** * * @type {string} * @memberof CheckoutPriceSnapshotDiscount */ couponName: string; /** * * @type {Currency} * @memberof CheckoutPriceSnapshotDiscount */ currency?: Currency | null; /** * * @type {string} * @memberof CheckoutPriceSnapshotDiscount */ customerFacingCode?: string | null; /** * * @type {string} * @memberof CheckoutPriceSnapshotDiscount */ duration: string; /** * * @type {number} * @memberof CheckoutPriceSnapshotDiscount */ durationInMonths?: number | null; /** * * @type {number} * @memberof CheckoutPriceSnapshotDiscount */ percentOff?: number | null; /** * * @type {string} * @memberof CheckoutPriceSnapshotDiscount */ promoCodeExternalId?: string | null; } declare function CheckoutPriceSnapshotDiscountFromJSON(json: any): CheckoutPriceSnapshotDiscount; declare function CheckoutPriceSnapshotDiscountFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutPriceSnapshotDiscount; declare function CheckoutPriceSnapshotDiscountToJSON(json: any): CheckoutPriceSnapshotDiscount; declare function CheckoutPriceSnapshotDiscountToJSONTyped(value?: CheckoutPriceSnapshotDiscount | null, ignoreDiscriminator?: boolean): any; declare function CheckoutPriceSnapshotFromJSON(json: any): CheckoutPriceSnapshot; declare function CheckoutPriceSnapshotFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutPriceSnapshot; /** * * @export * @interface CheckoutPriceSnapshotProration */ declare interface CheckoutPriceSnapshotProration { /** * * @type {Date} * @memberof CheckoutPriceSnapshotProration */ billedAt?: Date | null; /** * * @type {number} * @memberof CheckoutPriceSnapshotProration */ charge: number; /** * * @type {number} * @memberof CheckoutPriceSnapshotProration */ credit: number; /** * * @type {Array} * @memberof CheckoutPriceSnapshotProration */ lines: Array; /** * * @type {CheckoutChargeTiming} * @memberof CheckoutPriceSnapshotProration */ timing: CheckoutChargeTiming; /** * * @type {number} * @memberof CheckoutPriceSnapshotProration */ total: number; } declare function CheckoutPriceSnapshotProrationFromJSON(json: any): CheckoutPriceSnapshotProration; declare function CheckoutPriceSnapshotProrationFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutPriceSnapshotProration; /** * * @export * @interface CheckoutPriceSnapshotProrationLine */ declare interface CheckoutPriceSnapshotProrationLine { /** * * @type {number} * @memberof CheckoutPriceSnapshotProrationLine */ amount: number; /** * * @type {ProrationLineKind} * @memberof CheckoutPriceSnapshotProrationLine */ kind: ProrationLineKind; /** * * @type {Date} * @memberof CheckoutPriceSnapshotProrationLine */ periodEnd?: Date | null; /** * * @type {Date} * @memberof CheckoutPriceSnapshotProrationLine */ periodStart?: Date | null; /** * * @type {string} * @memberof CheckoutPriceSnapshotProrationLine */ planId?: string | null; /** * * @type {string} * @memberof CheckoutPriceSnapshotProrationLine */ priceId?: string | null; /** * * @type {number} * @memberof CheckoutPriceSnapshotProrationLine */ quantity?: number | null; } declare function CheckoutPriceSnapshotProrationLineFromJSON(json: any): CheckoutPriceSnapshotProrationLine; declare function CheckoutPriceSnapshotProrationLineFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutPriceSnapshotProrationLine; declare function CheckoutPriceSnapshotProrationLineToJSON(json: any): CheckoutPriceSnapshotProrationLine; declare function CheckoutPriceSnapshotProrationLineToJSONTyped(value?: CheckoutPriceSnapshotProrationLine | null, ignoreDiscriminator?: boolean): any; declare function CheckoutPriceSnapshotProrationToJSON(json: any): CheckoutPriceSnapshotProration; declare function CheckoutPriceSnapshotProrationToJSONTyped(value?: CheckoutPriceSnapshotProration | null, ignoreDiscriminator?: boolean): any; declare function CheckoutPriceSnapshotToJSON(json: any): CheckoutPriceSnapshot; declare function CheckoutPriceSnapshotToJSONTyped(value?: CheckoutPriceSnapshot | null, ignoreDiscriminator?: boolean): any; /** * Something the last price found wrong. `blocking` means a finalize would be * refused while it stands; the ids say what it is about, so a client can show * it next to the thing it concerns. */ export declare type CheckoutProblem = CheckoutProblemResponseData; /** * * @export */ export declare const CheckoutProblemCode: { readonly AddOnConflictsWithPlan: "add_on_conflicts_with_plan"; readonly AddOnIntervalMismatch: "add_on_interval_mismatch"; readonly AddOnRequiresBilledPlan: "add_on_requires_billed_plan"; readonly AddOnUnavailable: "add_on_unavailable"; readonly BillingCycleAnchorConflictsWithTrial: "billing_cycle_anchor_conflicts_with_trial"; readonly BillingCycleAnchorMustBeFuture: "billing_cycle_anchor_must_be_future"; readonly BillingCycleAnchorNeedsNewSubscription: "billing_cycle_anchor_needs_new_subscription"; readonly BillingCycleAnchorWithoutPlan: "billing_cycle_anchor_without_plan"; readonly BillingStartDateMustBePast: "billing_start_date_must_be_past"; readonly BillingStartDateNeedsNewSubscription: "billing_start_date_needs_new_subscription"; readonly BillingStartDateNeedsRenewalDate: "billing_start_date_needs_renewal_date"; readonly BillingStartDateNotBeforeRenewalDate: "billing_start_date_not_before_renewal_date"; readonly BillingStartDateTooFarInPast: "billing_start_date_too_far_in_past"; readonly CheckoutSuperseded: "checkout_superseded"; readonly CreditBundleIncompatible: "credit_bundle_incompatible"; readonly CreditBundleUnavailable: "credit_bundle_unavailable"; readonly CreditBundlesActivateOnPayment: "credit_bundles_activate_on_payment"; readonly CurrencyMismatch: "currency_mismatch"; readonly CustomFieldRequired: "custom_field_required"; readonly DiscountIneligible: "discount_ineligible"; readonly DowngradeNotPermitted: "downgrade_not_permitted"; readonly EndDateMustBeFuture: "end_date_must_be_future"; readonly EndDateNeedsNewSubscription: "end_date_needs_new_subscription"; readonly EndDateNotAfterRenewalDate: "end_date_not_after_renewal_date"; readonly FreeFirstPeriodActivatesOnPayment: "free_first_period_activates_on_payment"; readonly InvoiceEmailRequired: "invoice_email_required"; readonly InvoicedSubscriptionConflictsWithTrial: "invoiced_subscription_conflicts_with_trial"; readonly InvoicedSubscriptionNeedsNewSubscription: "invoiced_subscription_needs_new_subscription"; readonly InvoicedSubscriptionRequiresPlan: "invoiced_subscription_requires_plan"; readonly OptInRequired: "opt_in_required"; readonly PayInAdvancePriceInvalid: "pay_in_advance_price_invalid"; readonly PayInAdvanceRequired: "pay_in_advance_required"; readonly PaymentMethodRequired: "payment_method_required"; readonly PlanNotTrialable: "plan_not_trialable"; readonly PlanUnavailable: "plan_unavailable"; readonly PriceUnavailable: "price_unavailable"; readonly ProrateFirstPeriodWithoutAnchor: "prorate_first_period_without_anchor"; readonly ProviderRejected: "provider_rejected"; readonly ScheduledChangeBlocksPurchase: "scheduled_change_blocks_purchase"; readonly ScheduledChangePending: "scheduled_change_pending"; readonly SelectionInvalid: "selection_invalid"; readonly SubscriptionCurrencyChange: "subscription_currency_change"; readonly TrialEndMustBeFuture: "trial_end_must_be_future"; readonly TrialEndTooFar: "trial_end_too_far"; readonly TrialExcludesAddOns: "trial_excludes_add_ons"; readonly TrialExcludesUsageBased: "trial_excludes_usage_based"; readonly UsagePriceMissingForInterval: "usage_price_missing_for_interval"; readonly UsageOverLimit: "usage_over_limit"; }; export declare type CheckoutProblemCode = (typeof CheckoutProblemCode)[keyof typeof CheckoutProblemCode]; declare function CheckoutProblemCodeFromJSON(json: any): CheckoutProblemCode; declare function CheckoutProblemCodeFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutProblemCode; declare function CheckoutProblemCodeToJSON(value?: CheckoutProblemCode | null): any; declare function CheckoutProblemCodeToJSONTyped(value: any, ignoreDiscriminator: boolean): CheckoutProblemCode; /** * * @export * @interface CheckoutProblemResponseData */ export declare interface CheckoutProblemResponseData { /** * Whether completing the checkout would be refused while this stands. * @type {boolean} * @memberof CheckoutProblemResponseData */ blocking: boolean; /** * * @type {string} * @memberof CheckoutProblemResponseData */ bundleId?: string | null; /** * * @type {CheckoutProblemCode} * @memberof CheckoutProblemResponseData */ code: CheckoutProblemCode; /** * The currency this problem is about, when it is about one. * @type {Currency} * @memberof CheckoutProblemResponseData */ currency?: Currency; /** * Diagnostic detail for operators, including what the billing provider said. Never shown to a customer. * @type {string} * @memberof CheckoutProblemResponseData */ detail?: string; /** * * @type {string} * @memberof CheckoutProblemResponseData */ featureId?: string | null; /** * * @type {string} * @memberof CheckoutProblemResponseData */ fieldId?: string | null; /** * What is wrong, in words safe for anyone allowed to read the checkout. * @type {string} * @memberof CheckoutProblemResponseData */ message: string; /** * * @type {string} * @memberof CheckoutProblemResponseData */ paymentMethodId?: string | null; /** * * @type {string} * @memberof CheckoutProblemResponseData */ planId?: string | null; /** * * @type {string} * @memberof CheckoutProblemResponseData */ priceId?: string | null; /** * * @type {CheckoutProblemSource} * @memberof CheckoutProblemResponseData */ source: CheckoutProblemSource; } declare function CheckoutProblemResponseDataFromJSON(json: any): CheckoutProblemResponseData; declare function CheckoutProblemResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutProblemResponseData; declare function CheckoutProblemResponseDataToJSON(json: any): CheckoutProblemResponseData; declare function CheckoutProblemResponseDataToJSONTyped(value?: CheckoutProblemResponseData | null, ignoreDiscriminator?: boolean): any; /** * The problems a refused write or finalize carried, or `undefined` when the * error is not one: a finalize the server stops on a blocking problem answers * 400 with the list beside its message. */ export declare function checkoutProblemsOf(error: unknown): CheckoutProblem[] | undefined; /** * * @export */ export declare const CheckoutProblemSource: { readonly Provider: "provider"; readonly Requirement: "requirement"; readonly Validation: "validation"; }; export declare type CheckoutProblemSource = (typeof CheckoutProblemSource)[keyof typeof CheckoutProblemSource]; declare function CheckoutProblemSourceFromJSON(json: any): CheckoutProblemSource; declare function CheckoutProblemSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutProblemSource; declare function CheckoutProblemSourceToJSON(value?: CheckoutProblemSource | null): any; declare function CheckoutProblemSourceToJSONTyped(value: any, ignoreDiscriminator: boolean): CheckoutProblemSource; /** * * @export * @interface CheckoutResponseData */ export declare interface CheckoutResponseData { /** * * @type {string} * @memberof CheckoutResponseData */ applicationId?: string | null; /** * * @type {number} * @memberof CheckoutResponseData */ cancelAt?: number | null; /** * * @type {boolean} * @memberof CheckoutResponseData */ cancelAtPeriodEnd: boolean; /** * * @type {string} * @memberof CheckoutResponseData */ companyId?: string | null; /** * * @type {string} * @memberof CheckoutResponseData */ confirmPaymentIntentClientSecret?: string | null; /** * * @type {string} * @memberof CheckoutResponseData */ confirmPaymentIntentId?: string | null; /** * * @type {Date} * @memberof CheckoutResponseData */ createdAt: Date; /** * * @type {Currency} * @memberof CheckoutResponseData */ currency: Currency; /** * * @type {string} * @memberof CheckoutResponseData */ customerExternalId: string; /** * * @type {string} * @memberof CheckoutResponseData */ defaultPaymentMethodId?: string | null; /** * * @type {Date} * @memberof CheckoutResponseData */ expiredAt?: Date | null; /** * * @type {string} * @memberof CheckoutResponseData */ id: string; /** * * @type {string} * @memberof CheckoutResponseData */ interval: string; /** * * @type {object} * @memberof CheckoutResponseData */ metadata?: object; /** * * @type {number} * @memberof CheckoutResponseData */ periodEnd: number; /** * * @type {number} * @memberof CheckoutResponseData */ periodStart: number; /** * * @type {BillingProviderType} * @memberof CheckoutResponseData */ providerType: BillingProviderType; /** * * @type {Date} * @memberof CheckoutResponseData */ scheduledChangeTime?: Date | null; /** * * @type {ScheduledDowngradeConfigBehavior} * @memberof CheckoutResponseData */ scheduledDowngradeBehavior?: ScheduledDowngradeConfigBehavior | null; /** * * @type {string} * @memberof CheckoutResponseData */ status: string; /** * * @type {string} * @memberof CheckoutResponseData */ subscriptionExternalId: string; /** * * @type {number} * @memberof CheckoutResponseData */ totalPrice: number; /** * * @type {number} * @memberof CheckoutResponseData */ trialEnd?: number | null; /** * * @type {BillingSubscriptionTrialEndSetting} * @memberof CheckoutResponseData */ trialEndSetting?: BillingSubscriptionTrialEndSetting | null; } declare function CheckoutResponseDataFromJSON(json: any): CheckoutResponseData; declare function CheckoutResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutResponseData; declare function CheckoutResponseDataToJSON(json: any): CheckoutResponseData; declare function CheckoutResponseDataToJSONTyped(value?: CheckoutResponseData | null, ignoreDiscriminator?: boolean): any; /** What a finalize charged: the subscription, and a 3-D Secure secret when the payment needs one. */ export declare type CheckoutResult = CheckoutResponseData; /** * The cart, sent whole on every write: an update replaces the stored cart, so * a field left out is a field cleared. No plan and price is a cart with only * credit bundles, or nothing at all. */ export declare interface CheckoutSelections { addOns?: UpdateAddOnRequestBody[]; autoTopupOverrides?: UpdateAutoTopupOverrideRequestBody[]; creditBundles?: UpdateCreditBundleRequestBody[]; /** ISO 4217. A cart that prices in another currency reports a problem. */ currency?: string; customFieldValues?: CheckoutFieldValue[]; /** `cancel` ends the subscription; the default is a change to the cart. */ intent?: "change" | "cancel"; optInAccepted?: boolean; payInAdvance?: UpdatePayInAdvanceRequestBody[]; /** The provider's id of a method already on file. */ paymentMethodId?: string; planId?: string; priceId?: string; promoCode?: string; skipTrial?: boolean; } /** * * @export * @interface CheckoutSelectionsResponseData */ declare interface CheckoutSelectionsResponseData { /** * * @type {Array} * @memberof CheckoutSelectionsResponseData */ addOnIds: Array; /** * * @type {Array} * @memberof CheckoutSelectionsResponseData */ autoTopupOverrides: Array; /** * * @type {string} * @memberof CheckoutSelectionsResponseData */ billingEntityId?: string | null; /** * * @type {string} * @memberof CheckoutSelectionsResponseData */ couponExternalId?: string | null; /** * * @type {Array} * @memberof CheckoutSelectionsResponseData */ creditBundles: Array; /** * The currency the cart is being built in, as the create or last update named it; null when neither did. * @type {string} * @memberof CheckoutSelectionsResponseData */ currency?: string | null; /** * * @type {Array} * @memberof CheckoutSelectionsResponseData */ customFieldValues: Array; /** * What the checkout does to the subscription. * @type {CheckoutIntent} * @memberof CheckoutSelectionsResponseData */ intent: CheckoutIntent; /** * * @type {string} * @memberof CheckoutSelectionsResponseData */ newPlanId?: string | null; /** * * @type {string} * @memberof CheckoutSelectionsResponseData */ newPriceId?: string | null; /** * * @type {boolean} * @memberof CheckoutSelectionsResponseData */ optInAccepted?: boolean | null; /** * * @type {Array} * @memberof CheckoutSelectionsResponseData */ payInAdvance: Array; /** * * @type {string} * @memberof CheckoutSelectionsResponseData */ paymentMethodId?: string | null; /** * * @type {string} * @memberof CheckoutSelectionsResponseData */ promoCode?: string | null; /** * * @type {boolean} * @memberof CheckoutSelectionsResponseData */ skipTrial: boolean; } declare function CheckoutSelectionsResponseDataFromJSON(json: any): CheckoutSelectionsResponseData; declare function CheckoutSelectionsResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutSelectionsResponseData; declare function CheckoutSelectionsResponseDataToJSON(json: any): CheckoutSelectionsResponseData; declare function CheckoutSelectionsResponseDataToJSONTyped(value?: CheckoutSelectionsResponseData | null, ignoreDiscriminator?: boolean): any; /** The selections as the API reads them. */ export declare function checkoutSelectionsToJSON(selections: CheckoutSelections): Record; /** * * @export */ export declare const CheckoutStatus: { readonly Abandoned: "abandoned"; readonly Completed: "completed"; readonly Expired: "expired"; readonly Open: "open"; }; export declare type CheckoutStatus = (typeof CheckoutStatus)[keyof typeof CheckoutStatus]; declare function CheckoutStatusFromJSON(json: any): CheckoutStatus; declare function CheckoutStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutStatus; declare function CheckoutStatusToJSON(value?: CheckoutStatus | null): any; declare function CheckoutStatusToJSONTyped(value: any, ignoreDiscriminator: boolean): CheckoutStatus; /** The calls a draft makes, so a test or a host's own client can stand in. */ export declare type CheckoutTransport = Pick; /** * * @export * @interface CheckoutUnsubscribeResponse */ declare interface CheckoutUnsubscribeResponse { /** * * @type {DeleteResponse} * @memberof CheckoutUnsubscribeResponse */ data: DeleteResponse; /** * Input parameters * @type {object} * @memberof CheckoutUnsubscribeResponse */ params: object; } declare function CheckoutUnsubscribeResponseFromJSON(json: any): CheckoutUnsubscribeResponse; declare function CheckoutUnsubscribeResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckoutUnsubscribeResponse; declare function CheckoutUnsubscribeResponseToJSON(json: any): CheckoutUnsubscribeResponse; declare function CheckoutUnsubscribeResponseToJSONTyped(value?: CheckoutUnsubscribeResponse | null, ignoreDiscriminator?: boolean): any; /** * A write's answer: the checkout, and the session the server priced it * under. Sent back on the finalize that follows, the session is what turns a * second submit of the same cart into a 409 rather than a second charge. */ export declare interface CheckoutWrite { checkout: Checkout; sessionId?: string; } export declare type CheckPlanReturn = { id: string; name: string; trialEndDate?: Date; trialStatus?: TrialStatus; }; export declare const CheckPlanReturnFromJSON: (json: any) => CheckPlanReturn; export declare type CheckPlanReturnListenerFn = (value: CheckPlanReturn) => void; /** * The company. The server has already made the embed's derivations from its * hydrated `company`: * * * `subscription` is absent when the company has none, or several. * * `subscription.period` comes from its first recurring product, else its * interval; `subscription.nextBillAt` is the embed's next bill date. * * `customPlanBilling` is the newest pending one, with its `dueAt`. */ export declare type Company = CompanyContextResponseData; /** * * @export * @interface CompanyCatalogResponseData */ export declare interface CompanyCatalogResponseData { /** * * @type {Array} * @memberof CompanyCatalogResponseData */ addOns: Array; /** * * @type {CatalogCapabilitiesResponseData} * @memberof CompanyCatalogResponseData */ capabilities: CatalogCapabilitiesResponseData; /** * * @type {CatalogCheckoutSettingsResponseData} * @memberof CompanyCatalogResponseData */ checkoutSettings: CatalogCheckoutSettingsResponseData; /** * * @type {Array} * @memberof CompanyCatalogResponseData */ creditBundles: Array; /** * Present when the catalog offers a custom plan; absent when custom plans are hidden. * @type {CatalogCustomPlanCTAResponseData} * @memberof CompanyCatalogResponseData */ customPlanCta?: CatalogCustomPlanCTAResponseData; /** * ISO 4217 currency of every top-level price slot; currency_prices carries the others. * @type {Currency} * @memberof CompanyCatalogResponseData */ defaultCurrency: Currency; /** * * @type {string} * @memberof CompanyCatalogResponseData */ description?: string | null; /** * * @type {string} * @memberof CompanyCatalogResponseData */ id: string; /** * * @type {string} * @memberof CompanyCatalogResponseData */ name: string; /** * * @type {Array} * @memberof CompanyCatalogResponseData */ plans: Array; /** * * @type {boolean} * @memberof CompanyCatalogResponseData */ preventSelfServiceDowngrade: boolean; /** * * @type {string} * @memberof CompanyCatalogResponseData */ preventSelfServiceDowngradeButtonText?: string | null; /** * * @type {string} * @memberof CompanyCatalogResponseData */ preventSelfServiceDowngradeUrl?: string | null; /** * * @type {string} * @memberof CompanyCatalogResponseData */ pricingModel?: string | null; /** * * @type {string} * @memberof CompanyCatalogResponseData */ pricingUrl?: string | null; /** * The plan a trialing company lands on when its trial ends, when configured and offered by this catalog. Catalog configuration, surfaced here so the trial notice can render before any plan change. * @type {CatalogPlanRefResponseData} * @memberof CompanyCatalogResponseData */ trialExpiryPlan?: CatalogPlanRefResponseData; /** * Whether starting a trial requires a payment method; a null value means required. * @type {boolean} * @memberof CompanyCatalogResponseData */ trialPaymentMethodRequired?: boolean | null; } declare function CompanyCatalogResponseDataFromJSON(json: any): CompanyCatalogResponseData; declare function CompanyCatalogResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyCatalogResponseData; declare function CompanyCatalogResponseDataToJSON(json: any): CompanyCatalogResponseData; declare function CompanyCatalogResponseDataToJSONTyped(value?: CompanyCatalogResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyContextCustomPlanBillingResponseData */ export declare interface CompanyContextCustomPlanBillingResponseData { /** * on_payment: the plan activates once the invoice is paid. on_publish: the plan is active and ends unless the invoice is paid. * @type {CustomPlanActivationStrategy} * @memberof CompanyContextCustomPlanBillingResponseData */ activationStrategy: CustomPlanActivationStrategy; /** * When payment is due: days_until_due after the billing was published, else created. * @type {Date} * @memberof CompanyContextCustomPlanBillingResponseData */ dueAt: Date; /** * Where the company pays the invoice. * @type {string} * @memberof CompanyContextCustomPlanBillingResponseData */ invoiceUrl?: string | null; /** * * @type {string} * @memberof CompanyContextCustomPlanBillingResponseData */ planId: string; /** * * @type {string} * @memberof CompanyContextCustomPlanBillingResponseData */ planName?: string | null; } declare function CompanyContextCustomPlanBillingResponseDataFromJSON(json: any): CompanyContextCustomPlanBillingResponseData; declare function CompanyContextCustomPlanBillingResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyContextCustomPlanBillingResponseData; declare function CompanyContextCustomPlanBillingResponseDataToJSON(json: any): CompanyContextCustomPlanBillingResponseData; declare function CompanyContextCustomPlanBillingResponseDataToJSONTyped(value?: CompanyContextCustomPlanBillingResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CompanyContextPlanResponseData */ export declare interface CompanyContextPlanResponseData { /** * * @type {string} * @memberof CompanyContextPlanResponseData */ description?: string | null; /** * * @type {string} * @memberof CompanyContextPlanResponseData */ id: string; /** * The credits the plan grants, in the plan's order. * @type {Array} * @memberof CompanyContextPlanResponseData */ includedCreditIds: Array; /** * * @type {string} * @memberof CompanyContextPlanResponseData */ name: string; /** * The period the plan is billed in: day, week, month, quarter, year, or one-time. Null when it is not billed. * @type {string} * @memberof CompanyContextPlanResponseData */ period?: string | null; /** * What the company is billed per period, in minor units of the subscription's currency. Null when it is not billed. * @type {number} * @memberof CompanyContextPlanResponseData */ price?: number | null; } declare function CompanyContextPlanResponseDataFromJSON(json: any): CompanyContextPlanResponseData; declare function CompanyContextPlanResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyContextPlanResponseData; declare function CompanyContextPlanResponseDataToJSON(json: any): CompanyContextPlanResponseData; declare function CompanyContextPlanResponseDataToJSONTyped(value?: CompanyContextPlanResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyContextResponseData */ export declare interface CompanyContextResponseData { /** * The add-ons the company holds. * @type {Array} * @memberof CompanyContextResponseData */ addOns: Array; /** * The newest custom plan billing awaiting payment or activation; null when none is pending. * @type {CompanyContextCustomPlanBillingResponseData} * @memberof CompanyContextResponseData */ customPlanBilling?: CompanyContextCustomPlanBillingResponseData; /** * * @type {string} * @memberof CompanyContextResponseData */ id: string; /** * * @type {string} * @memberof CompanyContextResponseData */ name: string; /** * The company's base plan; null when it has none. * @type {CompanyContextPlanResponseData} * @memberof CompanyContextResponseData */ plan?: CompanyContextPlanResponseData; /** * A plan change scheduled for the end of the billing period; null when none is. * @type {CompanyContextScheduledDowngradeResponseData} * @memberof CompanyContextResponseData */ scheduledDowngrade?: CompanyContextScheduledDowngradeResponseData; /** * The company's subscription; null when it has none, or several. * @type {CompanyContextSubscriptionResponseData} * @memberof CompanyContextResponseData */ subscription?: CompanyContextSubscriptionResponseData; } declare function CompanyContextResponseDataFromJSON(json: any): CompanyContextResponseData; declare function CompanyContextResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyContextResponseData; declare function CompanyContextResponseDataToJSON(json: any): CompanyContextResponseData; declare function CompanyContextResponseDataToJSONTyped(value?: CompanyContextResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CompanyContextScheduledDowngradeResponseData */ export declare interface CompanyContextScheduledDowngradeResponseData { /** * * @type {string} * @memberof CompanyContextScheduledDowngradeResponseData */ fromPlanId: string; /** * * @type {string} * @memberof CompanyContextScheduledDowngradeResponseData */ fromPlanName: string; /** * * @type {string} * @memberof CompanyContextScheduledDowngradeResponseData */ toPlanId: string; /** * * @type {string} * @memberof CompanyContextScheduledDowngradeResponseData */ toPlanName: string; } declare function CompanyContextScheduledDowngradeResponseDataFromJSON(json: any): CompanyContextScheduledDowngradeResponseData; declare function CompanyContextScheduledDowngradeResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyContextScheduledDowngradeResponseData; declare function CompanyContextScheduledDowngradeResponseDataToJSON(json: any): CompanyContextScheduledDowngradeResponseData; declare function CompanyContextScheduledDowngradeResponseDataToJSONTyped(value?: CompanyContextScheduledDowngradeResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyContextSubscriptionResponseData */ export declare interface CompanyContextSubscriptionResponseData { /** * When the subscription is set to end. * @type {Date} * @memberof CompanyContextSubscriptionResponseData */ cancelAt?: Date | null; /** * * @type {boolean} * @memberof CompanyContextSubscriptionResponseData */ cancelAtPeriodEnd: boolean; /** * * @type {Currency} * @memberof CompanyContextSubscriptionResponseData */ currency: Currency; /** * When the current period ends, and the company is next billed unless its trial is set to cancel: the period end, else the stored next bill's due date. Null when the subscription cancels at period end or neither is known. * @type {Date} * @memberof CompanyContextSubscriptionResponseData */ nextBillAt?: Date | null; /** * The period the subscription bills in: day, week, month, quarter, or year. * @type {string} * @memberof CompanyContextSubscriptionResponseData */ period?: string | null; /** * * @type {Date} * @memberof CompanyContextSubscriptionResponseData */ periodEnd?: Date | null; /** * Provider vocabulary: trialing, active, past_due, and so on. * @type {string} * @memberof CompanyContextSubscriptionResponseData */ status: string; /** * * @type {Date} * @memberof CompanyContextSubscriptionResponseData */ trialEnd?: Date | null; } declare function CompanyContextSubscriptionResponseDataFromJSON(json: any): CompanyContextSubscriptionResponseData; declare function CompanyContextSubscriptionResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyContextSubscriptionResponseData; declare function CompanyContextSubscriptionResponseDataToJSON(json: any): CompanyContextSubscriptionResponseData; declare function CompanyContextSubscriptionResponseDataToJSONTyped(value?: CompanyContextSubscriptionResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CompanyCreditAutoTopupResponseData */ export declare interface CompanyCreditAutoTopupResponseData { /** * Credits each top-up adds. * @type {number} * @memberof CompanyCreditAutoTopupResponseData */ amount?: number | null; /** * Whether top-ups run: the company's choice when self_service, else the plan's; false when the plan turns top-ups off. * @type {boolean} * @memberof CompanyCreditAutoTopupResponseData */ enabled: boolean; /** * Whether the company may change these settings itself. * @type {boolean} * @memberof CompanyCreditAutoTopupResponseData */ selfService: boolean; /** * The remaining balance that triggers a top-up. * @type {number} * @memberof CompanyCreditAutoTopupResponseData */ thresholdCredits?: number | null; } declare function CompanyCreditAutoTopupResponseDataFromJSON(json: any): CompanyCreditAutoTopupResponseData; declare function CompanyCreditAutoTopupResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyCreditAutoTopupResponseData; declare function CompanyCreditAutoTopupResponseDataToJSON(json: any): CompanyCreditAutoTopupResponseData; declare function CompanyCreditAutoTopupResponseDataToJSONTyped(value?: CompanyCreditAutoTopupResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CompanyCreditBalance */ export declare interface CompanyCreditBalance { /** * For a postpaid credit, how far below zero the balance may run. Absent when the credit is not postpaid or postpaid has no limit * @type {number} * @memberof CompanyCreditBalance */ overdraftLimit?: number | null; /** * Whether consumption may continue past a zero balance. When true and overdraft_limit is absent, the balance has no floor * @type {boolean} * @memberof CompanyCreditBalance */ postpaid: boolean; /** * Remaining credit, excluding any open lease hold (the value SDKs gate on) * @type {number} * @memberof CompanyCreditBalance */ remaining: number; /** * Amount held by the company's open credit lease, 0 when none is open * @type {number} * @memberof CompanyCreditBalance */ reserved: number; /** * Spendable balance including the open lease hold (remaining + reserved) * @type {number} * @memberof CompanyCreditBalance */ settled: number; } /** * * @export * @interface CompanyCreditBalanceResponseData */ export declare interface CompanyCreditBalanceResponseData { /** * How the credit tops itself up; null unless the company's base plan grants it. * @type {CompanyCreditAutoTopupResponseData} * @memberof CompanyCreditBalanceResponseData */ autoTopup?: CompanyCreditAutoTopupResponseData; /** * How the plan's grants of this credit add up per period; null unless the plan grants it per license and the license count is known. * @type {CompanyCreditCompositionResponseData} * @memberof CompanyCreditBalanceResponseData */ composition?: CompanyCreditCompositionResponseData; /** * * @type {string} * @memberof CompanyCreditBalanceResponseData */ creditDescription: string; /** * * @type {string} * @memberof CompanyCreditBalanceResponseData */ creditIcon?: string | null; /** * * @type {string} * @memberof CompanyCreditBalanceResponseData */ creditId: string; /** * * @type {string} * @memberof CompanyCreditBalanceResponseData */ creditName: string; /** * * @type {string} * @memberof CompanyCreditBalanceResponseData */ creditPluralName?: string | null; /** * * @type {string} * @memberof CompanyCreditBalanceResponseData */ creditSingularName?: string | null; /** * The earliest expiry among grants that will not be replaced. * @type {Date} * @memberof CompanyCreditBalanceResponseData */ expiresAt?: Date | null; /** * The live grants behind the balance, newest first. Empty for a credit the plan draws on that the company holds none of. * @type {Array} * @memberof CompanyCreditBalanceResponseData */ grants: Array; /** * Whether a bundle of this credit is on offer to the company's plan. * @type {boolean} * @memberof CompanyCreditBalanceResponseData */ purchasable: boolean; /** * * @type {number} * @memberof CompanyCreditBalanceResponseData */ remaining: number; /** * The earliest refresh among grants that renew. * @type {Date} * @memberof CompanyCreditBalanceResponseData */ resetsAt?: Date | null; /** * * @type {number} * @memberof CompanyCreditBalanceResponseData */ total: number; /** * * @type {number} * @memberof CompanyCreditBalanceResponseData */ used: number; } declare function CompanyCreditBalanceResponseDataFromJSON(json: any): CompanyCreditBalanceResponseData; declare function CompanyCreditBalanceResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyCreditBalanceResponseData; declare function CompanyCreditBalanceResponseDataToJSON(json: any): CompanyCreditBalanceResponseData; declare function CompanyCreditBalanceResponseDataToJSONTyped(value?: CompanyCreditBalanceResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyCreditBalancesResponseData */ declare interface CompanyCreditBalancesResponseData { /** * * @type {Array} * @memberof CompanyCreditBalancesResponseData */ balances: Array; /** * * @type {number} * @memberof CompanyCreditBalancesResponseData */ count: number; } declare function CompanyCreditBalancesResponseDataFromJSON(json: any): CompanyCreditBalancesResponseData; declare function CompanyCreditBalancesResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyCreditBalancesResponseData; declare function CompanyCreditBalancesResponseDataToJSON(json: any): CompanyCreditBalancesResponseData; declare function CompanyCreditBalancesResponseDataToJSONTyped(value?: CompanyCreditBalancesResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CompanyCreditCompositionResponseData */ export declare interface CompanyCreditCompositionResponseData { /** * Credits granted to the company once per period, on top of the per-license amount. * @type {number} * @memberof CompanyCreditCompositionResponseData */ fixedQuantity: number; /** * * @type {string} * @memberof CompanyCreditCompositionResponseData */ licenseId?: string | null; /** * * @type {string} * @memberof CompanyCreditCompositionResponseData */ licenseName: string; /** * * @type {string} * @memberof CompanyCreditCompositionResponseData */ licensePluralName?: string | null; /** * * @type {number} * @memberof CompanyCreditCompositionResponseData */ licenseQuantity: number; /** * * @type {string} * @memberof CompanyCreditCompositionResponseData */ licenseSingularName?: string | null; /** * * @type {number} * @memberof CompanyCreditCompositionResponseData */ perLicenseAmount: number; /** * day, week, month or year. * @type {string} * @memberof CompanyCreditCompositionResponseData */ period: string; /** * When the company's next bill renews the plan: the subscription's period end, else the stored next bill's due date. Null when the subscription cancels at period end, its trial cancels, or neither is known. * @type {Date} * @memberof CompanyCreditCompositionResponseData */ renewsAt?: Date | null; /** * * @type {number} * @memberof CompanyCreditCompositionResponseData */ total: number; } declare function CompanyCreditCompositionResponseDataFromJSON(json: any): CompanyCreditCompositionResponseData; declare function CompanyCreditCompositionResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyCreditCompositionResponseData; declare function CompanyCreditCompositionResponseDataToJSON(json: any): CompanyCreditCompositionResponseData; declare function CompanyCreditCompositionResponseDataToJSONTyped(value?: CompanyCreditCompositionResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyCreditGrantResponseData */ export declare interface CompanyCreditGrantResponseData { /** * * @type {string} * @memberof CompanyCreditGrantResponseData */ bundleId?: string | null; /** * * @type {string} * @memberof CompanyCreditGrantResponseData */ bundleName?: string | null; /** * * @type {Date} * @memberof CompanyCreditGrantResponseData */ createdAt: Date; /** * When these credits go away unreplaced; null if the grant renews or never expires. * @type {Date} * @memberof CompanyCreditGrantResponseData */ expiresAt?: Date | null; /** * * @type {BillingCreditGrantReason} * @memberof CompanyCreditGrantResponseData */ grantReason: BillingCreditGrantReason; /** * * @type {string} * @memberof CompanyCreditGrantResponseData */ id: string; /** * * @type {string} * @memberof CompanyCreditGrantResponseData */ planId?: string | null; /** * * @type {string} * @memberof CompanyCreditGrantResponseData */ planName?: string | null; /** * * @type {number} * @memberof CompanyCreditGrantResponseData */ quantity: number; /** * * @type {number} * @memberof CompanyCreditGrantResponseData */ quantityRemaining: number; /** * * @type {number} * @memberof CompanyCreditGrantResponseData */ quantityUsed: number; /** * The cadence a renewing grant refreshes on, when it is known. * @type {BillingPlanCreditGrantResetCadence} * @memberof CompanyCreditGrantResponseData */ renewalPeriod?: BillingPlanCreditGrantResetCadence | null; /** * When this grant refreshes; null if it does not renew. * @type {Date} * @memberof CompanyCreditGrantResponseData */ resetsAt?: Date | null; /** * * @type {Date} * @memberof CompanyCreditGrantResponseData */ validFrom?: Date | null; } declare function CompanyCreditGrantResponseDataFromJSON(json: any): CompanyCreditGrantResponseData; declare function CompanyCreditGrantResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyCreditGrantResponseData; declare function CompanyCreditGrantResponseDataToJSON(json: any): CompanyCreditGrantResponseData; declare function CompanyCreditGrantResponseDataToJSONTyped(value?: CompanyCreditGrantResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyCreditUserUsageResponseData */ export declare interface CompanyCreditUserUsageResponseData { /** * How many of the company's users the breakdown lists across every page, including those who consumed none of the credit in the span; 0 for a credit with no live grant. Unattributed consumption is not a user and is not counted. * @type {number} * @memberof CompanyCreditUserUsageResponseData */ count: number; /** * End of the span; the time of the request for a credit the company holds no live grant of. * @type {Date} * @memberof CompanyCreditUserUsageResponseData */ endTime?: Date | null; /** * Start of the span; equal to end_time for a credit the company holds no live grant of. * @type {Date} * @memberof CompanyCreditUserUsageResponseData */ startTime?: Date | null; /** * Consumption across every user in the span, not just this page. * @type {number} * @memberof CompanyCreditUserUsageResponseData */ total: number; /** * Consumption from events sent without a user; null when there is none. * @type {number} * @memberof CompanyCreditUserUsageResponseData */ unattributed?: number | null; /** * This page of users, heaviest first. * @type {Array} * @memberof CompanyCreditUserUsageResponseData */ users: Array; } declare function CompanyCreditUserUsageResponseDataFromJSON(json: any): CompanyCreditUserUsageResponseData; declare function CompanyCreditUserUsageResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyCreditUserUsageResponseData; declare function CompanyCreditUserUsageResponseDataToJSON(json: any): CompanyCreditUserUsageResponseData; declare function CompanyCreditUserUsageResponseDataToJSONTyped(value?: CompanyCreditUserUsageResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CompanyCreditUserUsageRowResponseData */ export declare interface CompanyCreditUserUsageRowResponseData { /** * * @type {string} * @memberof CompanyCreditUserUsageRowResponseData */ name?: string | null; /** * This user's fraction (0-1) of all consumption in the span, unattributed included. * @type {number} * @memberof CompanyCreditUserUsageRowResponseData */ share: number; /** * * @type {number} * @memberof CompanyCreditUserUsageRowResponseData */ used: number; /** * * @type {string} * @memberof CompanyCreditUserUsageRowResponseData */ userId: string; } declare function CompanyCreditUserUsageRowResponseDataFromJSON(json: any): CompanyCreditUserUsageRowResponseData; declare function CompanyCreditUserUsageRowResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyCreditUserUsageRowResponseData; declare function CompanyCreditUserUsageRowResponseDataToJSON(json: any): CompanyCreditUserUsageRowResponseData; declare function CompanyCreditUserUsageRowResponseDataToJSONTyped(value?: CompanyCreditUserUsageRowResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyDiscountResponseData */ export declare interface CompanyDiscountResponseData { /** * * @type {number} * @memberof CompanyDiscountResponseData */ amountOff?: number | null; /** * * @type {string} * @memberof CompanyDiscountResponseData */ couponName: string; /** * * @type {Currency} * @memberof CompanyDiscountResponseData */ currency?: Currency | null; /** * * @type {string} * @memberof CompanyDiscountResponseData */ customerFacingCode?: string | null; /** * Provider vocabulary: once, repeating, or forever. * @type {string} * @memberof CompanyDiscountResponseData */ duration: string; /** * * @type {number} * @memberof CompanyDiscountResponseData */ durationInMonths?: number | null; /** * * @type {number} * @memberof CompanyDiscountResponseData */ percentOff?: number | null; } declare function CompanyDiscountResponseDataFromJSON(json: any): CompanyDiscountResponseData; declare function CompanyDiscountResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyDiscountResponseData; declare function CompanyDiscountResponseDataToJSON(json: any): CompanyDiscountResponseData; declare function CompanyDiscountResponseDataToJSONTyped(value?: CompanyDiscountResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyFeatureUsageListResponseData */ declare interface CompanyFeatureUsageListResponseData { /** * * @type {number} * @memberof CompanyFeatureUsageListResponseData */ count: number; /** * * @type {Array} * @memberof CompanyFeatureUsageListResponseData */ features: Array; } declare function CompanyFeatureUsageListResponseDataFromJSON(json: any): CompanyFeatureUsageListResponseData; declare function CompanyFeatureUsageListResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyFeatureUsageListResponseData; declare function CompanyFeatureUsageListResponseDataToJSON(json: any): CompanyFeatureUsageListResponseData; declare function CompanyFeatureUsageListResponseDataToJSONTyped(value?: CompanyFeatureUsageListResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyFeatureUsageResponseData */ export declare interface CompanyFeatureUsageResponseData { /** * Whether the company may use the feature right now. * @type {boolean} * @memberof CompanyFeatureUsageResponseData */ access: boolean; /** * The entitlement's own limit before any price behavior applies: the numeric value, or the trait's value for a trait-based entitlement. For a credit entitlement, the credits granted in the current billing period (all time without a subscription). Null for unlimited and boolean entitlements. * @type {number} * @memberof CompanyFeatureUsageResponseData */ allocation?: number | null; /** * Set when entitlement_type is company_override. * @type {string} * @memberof CompanyFeatureUsageResponseData */ companyOverrideId?: string | null; /** * Credits consumed per unit of usage, for entitlements that burn credits. * @type {number} * @memberof CompanyFeatureUsageResponseData */ consumptionRate?: number | null; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ creditIcon?: string | null; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ creditId?: string | null; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ creditName?: string | null; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ creditPluralName?: string | null; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ creditSingularName?: string | null; /** * What the feature costs at price, in its minor units: the allocation for pay_in_advance, usage for tier and pay_as_you_go, and usage above soft_limit for overage. Null when there is no price, the price behavior bills nothing, or there is nothing yet to bill it on (no allocation for pay_in_advance, unknown usage for tier, no usage for pay_as_you_go and overage); tier at zero usage, and overage within soft_limit, cost 0. * @type {number} * @memberof CompanyFeatureUsageResponseData */ currentCost?: number | null; /** * * @type {EntitlementType} * @memberof CompanyFeatureUsageResponseData */ entitlementType: EntitlementType; /** * When a company override ends; plan entitlements do not expire. * @type {Date} * @memberof CompanyFeatureUsageResponseData */ expiresAt?: Date | null; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ featureDescription: string; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ featureIcon: string; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ featureId: string; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ featureName: string; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ featurePluralName?: string | null; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ featureSingularName?: string | null; /** * * @type {FeatureType} * @memberof CompanyFeatureUsageResponseData */ featureType: FeatureType; /** * * @type {string} * @memberof CompanyFeatureUsageResponseData */ licenseId?: string | null; /** * * @type {MetricPeriod} * @memberof CompanyFeatureUsageResponseData */ metricPeriod?: MetricPeriod_2 | null; /** * * @type {MetricPeriodMonthReset} * @memberof CompanyFeatureUsageResponseData */ metricPeriodMonthReset?: MetricPeriodMonthReset_2 | null; /** * The plan's credit grants that scale with the license this feature counts. * @type {Array} * @memberof CompanyFeatureUsageResponseData */ perLicenseCreditGrants: Array; /** * Set when entitlement_type is plan_entitlement. * @type {string} * @memberof CompanyFeatureUsageResponseData */ planEntitlementId?: string | null; /** * The metered price the company is billed at: the slot for its billing period, in the subscription's currency, or in none when the price predates multi-currency (any currency without a subscription). Null when the feature has no such price for that period. * @type {CatalogPriceResponseData} * @memberof CompanyFeatureUsageResponseData */ price?: CatalogPriceResponseData; /** * * @type {EntitlementPriceBehavior} * @memberof CompanyFeatureUsageResponseData */ priceBehavior?: EntitlementPriceBehavior | null; /** * When the usage metric next resets. * @type {Date} * @memberof CompanyFeatureUsageResponseData */ resetsAt?: Date | null; /** * * @type {number} * @memberof CompanyFeatureUsageResponseData */ softLimit?: number | null; /** * Usage in the current metric period; null for features that are not metered. * @type {number} * @memberof CompanyFeatureUsageResponseData */ usage?: number | null; /** * * @type {boolean} * @memberof CompanyFeatureUsageResponseData */ valueBool?: boolean | null; /** * * @type {number} * @memberof CompanyFeatureUsageResponseData */ valueNumeric?: number | null; /** * * @type {EntitlementValueType} * @memberof CompanyFeatureUsageResponseData */ valueType: EntitlementValueType_2; /** * The default warning-tier value, when configured. * @type {number} * @memberof CompanyFeatureUsageResponseData */ warningThreshold?: number | null; } declare function CompanyFeatureUsageResponseDataFromJSON(json: any): CompanyFeatureUsageResponseData; declare function CompanyFeatureUsageResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyFeatureUsageResponseData; declare function CompanyFeatureUsageResponseDataToJSON(json: any): CompanyFeatureUsageResponseData; declare function CompanyFeatureUsageResponseDataToJSONTyped(value?: CompanyFeatureUsageResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyFeatureUserUsageResponseData */ export declare interface CompanyFeatureUserUsageResponseData { /** * How many of the company's users the breakdown lists across every page, including those without usage in the period; unattributed usage is not a user and is not counted. * @type {number} * @memberof CompanyFeatureUserUsageResponseData */ count: number; /** * End of the feature's current metric period (exclusive). * @type {Date} * @memberof CompanyFeatureUserUsageResponseData */ endTime: Date; /** * Start of the feature's current metric period. * @type {Date} * @memberof CompanyFeatureUserUsageResponseData */ startTime: Date; /** * Usage across every user in the period, not just this page. * @type {number} * @memberof CompanyFeatureUserUsageResponseData */ total: number; /** * Usage from events sent without a user; null when the period has none. * @type {number} * @memberof CompanyFeatureUserUsageResponseData */ unattributed?: number | null; /** * This page of users, highest usage first. * @type {Array} * @memberof CompanyFeatureUserUsageResponseData */ users: Array; } declare function CompanyFeatureUserUsageResponseDataFromJSON(json: any): CompanyFeatureUserUsageResponseData; declare function CompanyFeatureUserUsageResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyFeatureUserUsageResponseData; declare function CompanyFeatureUserUsageResponseDataToJSON(json: any): CompanyFeatureUserUsageResponseData; declare function CompanyFeatureUserUsageResponseDataToJSONTyped(value?: CompanyFeatureUserUsageResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyInvoiceResponseData */ export declare interface CompanyInvoiceResponseData { /** * * @type {number} * @memberof CompanyInvoiceResponseData */ amountDue: number; /** * * @type {Date} * @memberof CompanyInvoiceResponseData */ createdAt: Date; /** * * @type {Currency} * @memberof CompanyInvoiceResponseData */ currency: Currency; /** * * @type {Date} * @memberof CompanyInvoiceResponseData */ dueDate?: Date | null; /** * * @type {string} * @memberof CompanyInvoiceResponseData */ id: string; /** * * @type {InvoiceStatus} * @memberof CompanyInvoiceResponseData */ status?: InvoiceStatus | null; /** * * @type {string} * @memberof CompanyInvoiceResponseData */ url?: string | null; } declare function CompanyInvoiceResponseDataFromJSON(json: any): CompanyInvoiceResponseData; declare function CompanyInvoiceResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyInvoiceResponseData; declare function CompanyInvoiceResponseDataToJSON(json: any): CompanyInvoiceResponseData; declare function CompanyInvoiceResponseDataToJSONTyped(value?: CompanyInvoiceResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyInvoicesResponseData */ declare interface CompanyInvoicesResponseData { /** * * @type {number} * @memberof CompanyInvoicesResponseData */ count: number; /** * * @type {Array} * @memberof CompanyInvoicesResponseData */ invoices: Array; } declare function CompanyInvoicesResponseDataFromJSON(json: any): CompanyInvoicesResponseData; declare function CompanyInvoicesResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyInvoicesResponseData; declare function CompanyInvoicesResponseDataToJSON(json: any): CompanyInvoicesResponseData; declare function CompanyInvoicesResponseDataToJSONTyped(value?: CompanyInvoicesResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CompanyPaymentMethodResponseData */ export declare interface CompanyPaymentMethodResponseData { /** * * @type {string} * @memberof CompanyPaymentMethodResponseData */ accountLast4?: string | null; /** * * @type {string} * @memberof CompanyPaymentMethodResponseData */ accountName?: string | null; /** * * @type {string} * @memberof CompanyPaymentMethodResponseData */ bankName?: string | null; /** * * @type {string} * @memberof CompanyPaymentMethodResponseData */ billingEmail?: string | null; /** * * @type {string} * @memberof CompanyPaymentMethodResponseData */ billingName?: string | null; /** * Whether DELETE /checkout/paymentmethod/:id would succeed. False only for the sole method while an active paid subscription needs it; the default can be removed like any other. * @type {boolean} * @memberof CompanyPaymentMethodResponseData */ canRemove: boolean; /** * * @type {string} * @memberof CompanyPaymentMethodResponseData */ cardBrand?: string | null; /** * * @type {number} * @memberof CompanyPaymentMethodResponseData */ cardExpMonth?: number | null; /** * * @type {number} * @memberof CompanyPaymentMethodResponseData */ cardExpYear?: number | null; /** * * @type {string} * @memberof CompanyPaymentMethodResponseData */ cardLast4?: string | null; /** * * @type {string} * @memberof CompanyPaymentMethodResponseData */ externalId: string; /** * * @type {string} * @memberof CompanyPaymentMethodResponseData */ id: string; /** * Whether this is the method the company is billed with: the subscription's own when it has one, else the customer default. At most one method is the default. * @type {boolean} * @memberof CompanyPaymentMethodResponseData */ isDefault: boolean; /** * The Stripe payment method type, such as card or us_bank_account. * @type {string} * @memberof CompanyPaymentMethodResponseData */ type: string; } declare function CompanyPaymentMethodResponseDataFromJSON(json: any): CompanyPaymentMethodResponseData; declare function CompanyPaymentMethodResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyPaymentMethodResponseData; declare function CompanyPaymentMethodResponseDataToJSON(json: any): CompanyPaymentMethodResponseData; declare function CompanyPaymentMethodResponseDataToJSONTyped(value?: CompanyPaymentMethodResponseData | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyPaymentMethodsResponseData */ declare interface CompanyPaymentMethodsResponseData { /** * * @type {number} * @memberof CompanyPaymentMethodsResponseData */ count: number; /** * * @type {Array} * @memberof CompanyPaymentMethodsResponseData */ paymentMethods: Array; } declare function CompanyPaymentMethodsResponseDataFromJSON(json: any): CompanyPaymentMethodsResponseData; declare function CompanyPaymentMethodsResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyPaymentMethodsResponseData; declare function CompanyPaymentMethodsResponseDataToJSON(json: any): CompanyPaymentMethodsResponseData; declare function CompanyPaymentMethodsResponseDataToJSONTyped(value?: CompanyPaymentMethodsResponseData | null, ignoreDiscriminator?: boolean): any; /** A plan or add-on the company holds, at the price it is billed. */ export declare type CompanyPlan = CompanyContextPlanResponseData; /** * * @export */ declare const CompanyPlanInvalidReason: { readonly DowngradeNotPermitted: "downgrade_not_permitted"; readonly FeatureUsageExceeded: "feature_usage_exceeded"; }; declare type CompanyPlanInvalidReason = (typeof CompanyPlanInvalidReason)[keyof typeof CompanyPlanInvalidReason]; declare function CompanyPlanInvalidReasonFromJSON(json: any): CompanyPlanInvalidReason; declare function CompanyPlanInvalidReasonFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyPlanInvalidReason; declare function CompanyPlanInvalidReasonToJSON(value?: CompanyPlanInvalidReason | null): any; declare function CompanyPlanInvalidReasonToJSONTyped(value: any, ignoreDiscriminator: boolean): CompanyPlanInvalidReason; export declare type CompanySubscription = CompanyContextSubscriptionResponseData; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CompanyTaxIDView */ export declare interface CompanyTaxIDView { /** * * @type {string} * @memberof CompanyTaxIDView */ country: string; /** * * @type {string} * @memberof CompanyTaxIDView */ id: string; /** * * @type {string} * @memberof CompanyTaxIDView */ type: string; /** * * @type {string} * @memberof CompanyTaxIDView */ value: string; /** * * @type {string} * @memberof CompanyTaxIDView */ verificationStatus?: string | null; } declare function CompanyTaxIDViewFromJSON(json: any): CompanyTaxIDView; declare function CompanyTaxIDViewFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyTaxIDView; declare function CompanyTaxIDViewToJSON(json: any): CompanyTaxIDView; declare function CompanyTaxIDViewToJSONTyped(value?: CompanyTaxIDView | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CompanyUpcomingInvoiceResponseData */ export declare interface CompanyUpcomingInvoiceResponseData { /** * * @type {number} * @memberof CompanyUpcomingInvoiceResponseData */ amountDue: number; /** * * @type {Currency} * @memberof CompanyUpcomingInvoiceResponseData */ currency: Currency; /** * How much of the company's existing balance this invoice consumes. * @type {number} * @memberof CompanyUpcomingInvoiceResponseData */ customerBalanceApplied: number; /** * Balance left over after this invoice. * @type {number} * @memberof CompanyUpcomingInvoiceResponseData */ customerBalanceRemaining: number; /** * The subscription's active discounts, to show beside the bill. Informational: the amounts come from the provider's preview and already reflect whatever it applied, so subtotal less these need not equal amount_due. * @type {Array} * @memberof CompanyUpcomingInvoiceResponseData */ discounts: Array; /** * * @type {Date} * @memberof CompanyUpcomingInvoiceResponseData */ dueDate?: Date | null; /** * Amount before discounts and tax. * @type {number} * @memberof CompanyUpcomingInvoiceResponseData */ subtotal: number; } declare function CompanyUpcomingInvoiceResponseDataFromJSON(json: any): CompanyUpcomingInvoiceResponseData; declare function CompanyUpcomingInvoiceResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyUpcomingInvoiceResponseData; declare function CompanyUpcomingInvoiceResponseDataToJSON(json: any): CompanyUpcomingInvoiceResponseData; declare function CompanyUpcomingInvoiceResponseDataToJSONTyped(value?: CompanyUpcomingInvoiceResponseData | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CompanyUserUsageResponseData */ export declare interface CompanyUserUsageResponseData { /** * When the user last used the feature in the period. * @type {Date} * @memberof CompanyUserUsageResponseData */ lastSeen: Date; /** * * @type {string} * @memberof CompanyUserUsageResponseData */ name?: string | null; /** * This user's fraction (0-1) of all usage in the period, unattributed usage included. * @type {number} * @memberof CompanyUserUsageResponseData */ share: number; /** * * @type {number} * @memberof CompanyUserUsageResponseData */ usage: number; /** * * @type {string} * @memberof CompanyUserUsageResponseData */ userId: string; } declare function CompanyUserUsageResponseDataFromJSON(json: any): CompanyUserUsageResponseData; declare function CompanyUserUsageResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyUserUsageResponseData; declare function CompanyUserUsageResponseDataToJSON(json: any): CompanyUserUsageResponseData; declare function CompanyUserUsageResponseDataToJSONTyped(value?: CompanyUserUsageResponseData | null, ignoreDiscriminator?: boolean): any; /** * Function supplied by the integrating application that returns an HMAC context * signature (`iat.exp.sig`) for the given context. * * Because a publishable key is public, the signature must be produced by the * customer's backend, which holds the matching secret API key. A typical * implementation forwards the context to that backend and returns the * `X-Schematic-Context-Sig` value it computes: * * ```ts * const schematic = new Schematic(pubKey, { * getContextSignature: async (context) => { * const res = await fetch("/api/schematic/sign", { * method: "POST", * credentials: "include", * headers: { "Content-Type": "application/json" }, * body: JSON.stringify(context), * }); * const { signature } = await res.json(); * return signature; // "iat.exp.sig" * }, * }); * ``` * * The SDK derives the expiry from the returned string (its middle segment) and * caches it per context, so the function is only invoked when no fresh * signature is available. */ export declare type ContextSignatureProvider = (context: SchematicContext) => string | Promise; /** * * @export * @interface CreateCheckoutRequest */ declare interface CreateCheckoutRequest { /** * * @type {Array} * @memberof CreateCheckoutRequest */ addOnIds: Array; /** * * @type {Array} * @memberof CreateCheckoutRequest */ autoTopupOverrides: Array; /** * * @type {string} * @memberof CreateCheckoutRequest */ billingEntityId?: string | null; /** * * @type {string} * @memberof CreateCheckoutRequest */ companyId?: string | null; /** * * @type {string} * @memberof CreateCheckoutRequest */ couponExternalId?: string | null; /** * * @type {Array} * @memberof CreateCheckoutRequest */ creditBundles: Array; /** * ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem. * @type {Currency} * @memberof CreateCheckoutRequest */ currency?: Currency | null; /** * * @type {Array} * @memberof CreateCheckoutRequest */ customFieldValues: Array; /** * What the checkout does to the subscription: change it to the cart's contents, or cancel it. Defaults to change. * @type {CheckoutIntent} * @memberof CreateCheckoutRequest */ intent?: CheckoutIntent | null; /** * * @type {string} * @memberof CreateCheckoutRequest */ newPlanId: string; /** * * @type {string} * @memberof CreateCheckoutRequest */ newPriceId: string; /** * * @type {boolean} * @memberof CreateCheckoutRequest */ optInAccepted?: boolean | null; /** * * @type {Array} * @memberof CreateCheckoutRequest */ payInAdvance: Array; /** * * @type {string} * @memberof CreateCheckoutRequest */ paymentMethodId?: string | null; /** * * @type {string} * @memberof CreateCheckoutRequest */ promoCode?: string | null; /** * * @type {boolean} * @memberof CreateCheckoutRequest */ skipTrial: boolean; } declare function CreateCheckoutRequestFromJSON(json: any): CreateCheckoutRequest; declare function CreateCheckoutRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateCheckoutRequest; declare function CreateCheckoutRequestToJSON(json: any): CreateCheckoutRequest; declare function CreateCheckoutRequestToJSONTyped(value?: CreateCheckoutRequest | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CreateCheckoutResponse */ declare interface CreateCheckoutResponse { /** * * @type {CheckoutDraftResponseData} * @memberof CreateCheckoutResponse */ data: CheckoutDraftResponseData; /** * Input parameters * @type {object} * @memberof CreateCheckoutResponse */ params: object; } declare function CreateCheckoutResponseFromJSON(json: any): CreateCheckoutResponse; declare function CreateCheckoutResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateCheckoutResponse; declare function CreateCheckoutResponseToJSON(json: any): CreateCheckoutResponse; declare function CreateCheckoutResponseToJSONTyped(value?: CreateCheckoutResponse | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface CreateSetupIntentResponse */ declare interface CreateSetupIntentResponse { /** * * @type {SetupIntentResponseData} * @memberof CreateSetupIntentResponse */ data: SetupIntentResponseData; /** * Input parameters * @type {object} * @memberof CreateSetupIntentResponse */ params: object; } declare function CreateSetupIntentResponseFromJSON(json: any): CreateSetupIntentResponse; declare function CreateSetupIntentResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateSetupIntentResponse; declare function CreateSetupIntentResponseToJSON(json: any): CreateSetupIntentResponse; declare function CreateSetupIntentResponseToJSONTyped(value?: CreateSetupIntentResponse | null, ignoreDiscriminator?: boolean): any; export declare type CreditAutoTopup = CompanyCreditAutoTopupResponseData; /** A company's lease-aware balance for a single credit type */ export declare type CreditBalance = { /** Spendable balance including any open lease hold (remaining + reserved); the number to display to end users */ settled: number; /** Remaining credit excluding any open lease hold (the value lease-holding SDKs gate on) */ remaining: number; /** Amount held by the company's open credit lease, 0 when none is open */ reserved: number; }; /** * One credit's balance. What the server has already decided, so a consumer * never re-derives it: * * * `grants` are the live ones only, newest first; expired and zeroed-out * grants are gone, so `total` is `used` plus `remaining`. * * A credit the plan draws on that the company holds none of is a zero * balance with no grants. * * Each grant carries `resetsAt` or `expiresAt`, never both. * * `purchasable` — a bundle of it is on offer to the company's plan. * * `composition` — how a per-license plan grant adds up per period. * * `autoTopup` — auto top-up for a credit the base plan grants, with the * company's own settings applied. */ export declare type CreditBalanceEntry = CompanyCreditBalanceResponseData; export declare type CreditBalanceListenerFn = CreditBalancesListenerFn | EmptyListenerFn; /** A company's lease-aware credit balances keyed by credit ID */ export declare type CreditBalances = Record; export declare const CreditBalancesFromJSON: (json: any) => CreditBalances; export declare type CreditBalancesListenerFn = (value: CreditBalances) => void; export declare type CreditComposition = CompanyCreditCompositionResponseData; export declare type CreditGrant = CompanyCreditGrantResponseData; /** Every spend policy binding the current context, company-scope first */ export declare type CreditSpendPolicies = CreditSpendPolicy[]; /** Compare two policy sets by value, so an unchanged restream skips the notify. */ export declare const creditSpendPoliciesEqual: (a: CreditSpendPolicies, b: CreditSpendPolicies) => boolean; export declare const CreditSpendPoliciesFromJSON: (json: any) => CreditSpendPolicies; export declare type CreditSpendPoliciesListenerFn = (value: CreditSpendPolicies) => void; /** One limit on spending a credit */ export declare type CreditSpendPolicy = { id: string; creditId: string; kind: CreditSpendPolicyKind; scope: CreditSpendPolicyScope; label?: string; /** The ceiling, in credits */ limit: number; /** How much of the limit is already spent in the current period; 0 for per_draw */ consumed: number; /** For windowed kinds, when the current period ends and consumed no longer applies */ resetsAt?: Date; /** Set for windowed kinds only */ window?: CreditSpendWindow; }; /** * * @export * @interface CreditSpendPolicy */ declare interface CreditSpendPolicy_2 { /** * For a user policy, the company it applies in * @type {string} * @memberof CreditSpendPolicy */ companyId?: string | null; /** * How much of the limit is already spent in the current period * @type {number} * @memberof CreditSpendPolicy */ consumed?: number; /** * The credit the policy limits * @type {string} * @memberof CreditSpendPolicy */ creditId: string; /** * The ID of the policy * @type {string} * @memberof CreditSpendPolicy */ id: string; /** * How the limit is applied * @type {string} * @memberof CreditSpendPolicy */ kind: string; /** * The name the account gave the policy * @type {string} * @memberof CreditSpendPolicy */ label?: string | null; /** * The ceiling, in credits * @type {number} * @memberof CreditSpendPolicy */ limit: number; /** * For a windowed limit, when the current period ends and consumed no longer applies * @type {Date} * @memberof CreditSpendPolicy */ resetsAt?: Date | null; /** * Whether the policy limits the company or one user * @type {CreditSpendPolicyScope} * @memberof CreditSpendPolicy */ scope: CreditSpendPolicyScope_2; /** * For a windowed limit, the period it accumulates over * @type {CreditSpendWindow} * @memberof CreditSpendPolicy */ window?: CreditSpendWindow_2; } /** How a spend policy applies its limit. Unknown kinds are carried, not dropped: * the server may ship a kind this SDK version predates. */ export declare type CreditSpendPolicyKind = "per_draw" | "window" | (string & {}); export declare type CreditSpendPolicyListenerFn = CreditSpendPoliciesListenerFn | EmptyListenerFn; /** Whether a spend policy limits the company or one user */ export declare type CreditSpendPolicyScope = "company" | "user" | (string & {}); /** * * @export */ declare const CreditSpendPolicyScope_2: { readonly Company: "company"; readonly User: "user"; readonly Group: "group"; }; declare type CreditSpendPolicyScope_2 = (typeof CreditSpendPolicyScope_2)[keyof typeof CreditSpendPolicyScope_2]; /** The period a windowed spend policy accumulates over */ export declare type CreditSpendWindow = { unit: string; count: number; }; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CreditSpendWindow */ declare interface CreditSpendWindow_2 { /** * How many units make up one period * @type {number} * @memberof CreditSpendWindow */ count: number; /** * The period the limit accumulates over * @type {string} * @memberof CreditSpendWindow */ unit: string; } /** * One credit's consumption by user over the span of its live grants: a page * of `users`, heaviest first; `count` users in all; the span's `total`; and * `unattributed` consumption from events sent without a user. Empty for a * credit the company holds no live grant of. */ export declare type CreditUserUsage = CompanyCreditUserUsageResponseData; declare interface CreditUserUsageRequest { creditId: string; /** Users per page; the server's default when omitted. */ limit?: number; offset?: number; } export declare type CreditUserUsageRow = CompanyCreditUserUsageRowResponseData; /** * * @export */ declare const Currency: { readonly Aed: "aed"; readonly Afn: "afn"; readonly All: "all"; readonly Amd: "amd"; readonly Ang: "ang"; readonly Aoa: "aoa"; readonly Ars: "ars"; readonly Aud: "aud"; readonly Awg: "awg"; readonly Azn: "azn"; readonly Bam: "bam"; readonly Bbd: "bbd"; readonly Bdt: "bdt"; readonly Bif: "bif"; readonly Bmd: "bmd"; readonly Bnd: "bnd"; readonly Bob: "bob"; readonly Brl: "brl"; readonly Bsd: "bsd"; readonly Bwp: "bwp"; readonly Byn: "byn"; readonly Bzd: "bzd"; readonly Cad: "cad"; readonly Cdf: "cdf"; readonly Chf: "chf"; readonly Clp: "clp"; readonly Cny: "cny"; readonly Cop: "cop"; readonly Crc: "crc"; readonly Cve: "cve"; readonly Czk: "czk"; readonly Djf: "djf"; readonly Dkk: "dkk"; readonly Dop: "dop"; readonly Dzd: "dzd"; readonly Egp: "egp"; readonly Etb: "etb"; readonly Eur: "eur"; readonly Fjd: "fjd"; readonly Fkp: "fkp"; readonly Gbp: "gbp"; readonly Gel: "gel"; readonly Gip: "gip"; readonly Gmd: "gmd"; readonly Gnf: "gnf"; readonly Gtq: "gtq"; readonly Gyd: "gyd"; readonly Hkd: "hkd"; readonly Hnl: "hnl"; readonly Htg: "htg"; readonly Huf: "huf"; readonly Idr: "idr"; readonly Ils: "ils"; readonly Inr: "inr"; readonly Isk: "isk"; readonly Jmd: "jmd"; readonly Jpy: "jpy"; readonly Kes: "kes"; readonly Kgs: "kgs"; readonly Khr: "khr"; readonly Kmf: "kmf"; readonly Krw: "krw"; readonly Kyd: "kyd"; readonly Kzt: "kzt"; readonly Lak: "lak"; readonly Lbp: "lbp"; readonly Lkr: "lkr"; readonly Lrd: "lrd"; readonly Lsl: "lsl"; readonly Mad: "mad"; readonly Mdl: "mdl"; readonly Mga: "mga"; readonly Mkd: "mkd"; readonly Mmk: "mmk"; readonly Mnt: "mnt"; readonly Mop: "mop"; readonly Mur: "mur"; readonly Mvr: "mvr"; readonly Mwk: "mwk"; readonly Mxn: "mxn"; readonly Myr: "myr"; readonly Mzn: "mzn"; readonly Nad: "nad"; readonly Ngn: "ngn"; readonly Nio: "nio"; readonly Nok: "nok"; readonly Npr: "npr"; readonly Nzd: "nzd"; readonly Pab: "pab"; readonly Pen: "pen"; readonly Pgk: "pgk"; readonly Php: "php"; readonly Pkr: "pkr"; readonly Pln: "pln"; readonly Pyg: "pyg"; readonly Qar: "qar"; readonly Ron: "ron"; readonly Rsd: "rsd"; readonly Rub: "rub"; readonly Rwf: "rwf"; readonly Sar: "sar"; readonly Sbd: "sbd"; readonly Scr: "scr"; readonly Sek: "sek"; readonly Sgd: "sgd"; readonly Shp: "shp"; readonly Sle: "sle"; readonly Sos: "sos"; readonly Srd: "srd"; readonly Std: "std"; readonly Szl: "szl"; readonly Thb: "thb"; readonly Tjs: "tjs"; readonly Top: "top"; readonly Try: "try"; readonly Ttd: "ttd"; readonly Twd: "twd"; readonly Tzs: "tzs"; readonly Uah: "uah"; readonly Ugx: "ugx"; readonly Usd: "usd"; readonly Uyu: "uyu"; readonly Uzs: "uzs"; readonly Vnd: "vnd"; readonly Vuv: "vuv"; readonly Wst: "wst"; readonly Xaf: "xaf"; readonly Xcd: "xcd"; readonly Xcg: "xcg"; readonly Xof: "xof"; readonly Xpf: "xpf"; readonly Yer: "yer"; readonly Zar: "zar"; readonly Zmw: "zmw"; }; declare type Currency = (typeof Currency)[keyof typeof Currency]; declare function CurrencyFromJSON(json: any): Currency; declare function CurrencyFromJSONTyped(json: any, ignoreDiscriminator: boolean): Currency; declare function CurrencyToJSON(value?: Currency | null): any; declare function CurrencyToJSONTyped(value: any, ignoreDiscriminator: boolean): Currency; /** * * @export */ declare const CustomPlanActivationStrategy: { readonly Payment: "on_payment"; readonly Publish: "on_publish"; }; declare type CustomPlanActivationStrategy = (typeof CustomPlanActivationStrategy)[keyof typeof CustomPlanActivationStrategy]; declare function CustomPlanActivationStrategyFromJSON(json: any): CustomPlanActivationStrategy; declare function CustomPlanActivationStrategyFromJSONTyped(json: any, ignoreDiscriminator: boolean): CustomPlanActivationStrategy; declare function CustomPlanActivationStrategyToJSON(value?: CustomPlanActivationStrategy | null): any; declare function CustomPlanActivationStrategyToJSONTyped(value: any, ignoreDiscriminator: boolean): CustomPlanActivationStrategy; export declare type CustomPlanBilling = CompanyContextCustomPlanBillingResponseData; /** * * @export * @interface DatastreamCompanyPlan */ declare interface DatastreamCompanyPlan { /** * * @type {string} * @memberof DatastreamCompanyPlan */ id: string; /** * * @type {string} * @memberof DatastreamCompanyPlan */ name: string; /** * * @type {Date} * @memberof DatastreamCompanyPlan */ trialEndDate?: Date | null; /** * * @type {TrialStatus} * @memberof DatastreamCompanyPlan */ trialStatus?: TrialStatus | null; } export declare function DatastreamCompanyPlanFromJSON(json: any): DatastreamCompanyPlan; export declare const DEFAULT_CATALOG_QUERY: CatalogQuery; export declare const DEFAULT_INVOICE_QUERY: InvoiceQuery; /** * * @export * @interface DeletePaymentMethodResponse */ declare interface DeletePaymentMethodResponse { /** * * @type {DeleteResponse} * @memberof DeletePaymentMethodResponse */ data: DeleteResponse; /** * Input parameters * @type {object} * @memberof DeletePaymentMethodResponse */ params: object; } declare function DeletePaymentMethodResponseFromJSON(json: any): DeletePaymentMethodResponse; declare function DeletePaymentMethodResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeletePaymentMethodResponse; declare function DeletePaymentMethodResponseToJSON(json: any): DeletePaymentMethodResponse; declare function DeletePaymentMethodResponseToJSONTyped(value?: DeletePaymentMethodResponse | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface DeleteResponse */ declare interface DeleteResponse { /** * Whether the delete was successful * @type {boolean} * @memberof DeleteResponse */ deleted?: boolean; } declare function DeleteResponseFromJSON(json: any): DeleteResponse; declare function DeleteResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeleteResponse; declare function DeleteResponseToJSON(json: any): DeleteResponse; declare function DeleteResponseToJSONTyped(value?: DeleteResponse | null, ignoreDiscriminator?: boolean): any; export declare type Discount = CompanyDiscountResponseData; export declare type EmptyListenerFn = () => void; /** * * @export */ declare const EntitlementPriceBehavior: { readonly CreditBurndown: "credit_burndown"; readonly Overage: "overage"; readonly PayAsYouGo: "pay_as_you_go"; readonly PayInAdvance: "pay_in_advance"; readonly Tier: "tier"; }; declare type EntitlementPriceBehavior = (typeof EntitlementPriceBehavior)[keyof typeof EntitlementPriceBehavior]; declare function EntitlementPriceBehaviorFromJSON(json: any): EntitlementPriceBehavior; declare function EntitlementPriceBehaviorFromJSONTyped(json: any, ignoreDiscriminator: boolean): EntitlementPriceBehavior; declare function EntitlementPriceBehaviorToJSON(value?: EntitlementPriceBehavior | null): any; declare function EntitlementPriceBehaviorToJSONTyped(value: any, ignoreDiscriminator: boolean): EntitlementPriceBehavior; /** * * @export */ declare const EntitlementType: { readonly CompanyOverride: "company_override"; readonly PlanCreditGrant: "plan_credit_grant"; readonly PlanEntitlement: "plan_entitlement"; readonly Unknown: "unknown"; }; declare type EntitlementType = (typeof EntitlementType)[keyof typeof EntitlementType]; declare function EntitlementTypeFromJSON(json: any): EntitlementType; declare function EntitlementTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): EntitlementType; declare function EntitlementTypeToJSON(value?: EntitlementType | null): any; declare function EntitlementTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): EntitlementType; /** * * @export */ declare const EntitlementValueType: { readonly Boolean: "boolean"; readonly Credit: "credit"; readonly Numeric: "numeric"; readonly Trait: "trait"; readonly Unknown: "unknown"; readonly Unlimited: "unlimited"; }; declare type EntitlementValueType = (typeof EntitlementValueType)[keyof typeof EntitlementValueType]; /** * * @export */ declare const EntitlementValueType_2: { readonly Boolean: "boolean"; readonly Credit: "credit"; readonly Numeric: "numeric"; readonly Trait: "trait"; readonly Unknown: "unknown"; readonly Unlimited: "unlimited"; }; declare type EntitlementValueType_2 = (typeof EntitlementValueType_2)[keyof typeof EntitlementValueType_2]; declare function EntitlementValueTypeFromJSON(json: any): EntitlementValueType_2; declare function EntitlementValueTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): EntitlementValueType_2; declare function EntitlementValueTypeToJSON(value?: EntitlementValueType_2 | null): any; declare function EntitlementValueTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): EntitlementValueType_2; declare type Event_2 = { api_key: string; body: EventBody; sent_at: string; tracker_event_id: string; tracker_user_id: string; type: EventType; retry_count?: number; next_retry_at?: number; }; export { Event_2 as Event } export declare type EventBody = EventBodyIdentify | EventBodyTrack | EventBodyFlagCheck; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface EventBodyFlagCheck */ export declare interface EventBodyFlagCheck { /** * Schematic company ID (starting with 'comp_') of the company evaluated, if any * @type {string} * @memberof EventBodyFlagCheck */ companyId?: string | null; /** * Report an error that occurred during the flag check * @type {string} * @memberof EventBodyFlagCheck */ error?: string | null; /** * Schematic flag ID (starting with 'flag_') for the flag matching the key, if any * @type {string} * @memberof EventBodyFlagCheck */ flagId?: string | null; /** * The key of the flag being checked * @type {string} * @memberof EventBodyFlagCheck */ flagKey: string; /** * Whether the check was a preflight, asking whether an action would be allowed rather than reporting one that happened. Absent on ordinary checks * @type {boolean} * @memberof EventBodyFlagCheck */ preflight?: boolean; /** * The reason why the value was returned * @type {string} * @memberof EventBodyFlagCheck */ reason: string; /** * Key-value pairs used to to identify company for which the flag was checked * @type {{ [key: string]: string; }} * @memberof EventBodyFlagCheck */ reqCompany?: { [key: string]: string; } | null; /** * Key-value pairs used to to identify user for which the flag was checked * @type {{ [key: string]: string; }} * @memberof EventBodyFlagCheck */ reqUser?: { [key: string]: string; } | null; /** * Schematic rule ID (starting with 'rule_') of the rule that matched for the flag, if any * @type {string} * @memberof EventBodyFlagCheck */ ruleId?: string | null; /** * Schematic user ID (starting with 'user_') of the user evaluated, if any * @type {string} * @memberof EventBodyFlagCheck */ userId?: string | null; /** * The value of the flag for the given company and/or user * @type {boolean} * @memberof EventBodyFlagCheck */ value: boolean; } export declare function EventBodyFlagCheckToJSON(json: any): EventBodyFlagCheck; export declare type EventBodyIdentify = { company?: { keys?: Keys; name?: string; traits?: Traits; }; keys?: Keys; name?: string; traits?: Traits; }; export declare type EventBodyTrack = SchematicContext & { event: string; quantity?: number; traits?: Traits; }; export declare type EventType = "identify" | "track" | "flag_check"; /** * * @export * @interface FeatureEntitlement */ declare interface FeatureEntitlement { /** * If the company has a numeric entitlement for this feature, the allocated amount * @type {number} * @memberof FeatureEntitlement */ allocation?: number | null; /** * If the company has a credit-based entitlement for this feature, the credit cost per unit of usage * @type {number} * @memberof FeatureEntitlement */ consumptionRate?: number | null; /** * If the company has a credit-based entitlement for this feature, the ID of the credit * @type {string} * @memberof FeatureEntitlement */ creditId?: string | null; /** * If the company has a credit-based entitlement for this feature, the credit available to fund new consumption or a new lease hold — open lease holds are excluded. Clients that hold a lease should gate on this plus their own unspent hold; clients with no lease awareness should use credit_settled instead * @type {number} * @memberof FeatureEntitlement */ creditRemaining?: number | null; /** * If the company has a credit-based entitlement for this feature, the unspent amount held by an open credit lease. Returns to credit_remaining when the lease is released * @type {number} * @memberof FeatureEntitlement */ creditReserved?: number | null; /** * If the company has a credit-based entitlement for this feature, the balance net of actual consumption, unaffected by open lease holds (credit_remaining plus credit_reserved). The number to display to end users * @type {number} * @memberof FeatureEntitlement */ creditSettled?: number | null; /** * If the company has a credit-based entitlement for this feature, the total credit amount * @type {number} * @memberof FeatureEntitlement */ creditTotal?: number | null; /** * If the company has a credit-based entitlement for this feature, the amount of credit used * @type {number} * @memberof FeatureEntitlement */ creditUsed?: number | null; /** * If the feature is event-based, the name of the event tracked for usage * @type {string} * @memberof FeatureEntitlement */ eventName?: string | null; /** * For event-based or credit-metered feature entitlements, the event subtype whose usage is tracked * @type {string} * @memberof FeatureEntitlement */ eventSubtype?: string | null; /** * The ID of the feature * @type {string} * @memberof FeatureEntitlement */ featureId: string; /** * The key of the flag associated with the feature * @type {string} * @memberof FeatureEntitlement */ featureKey: string; /** * For event-based feature entitlements, the period over which usage is tracked * @type {MetricPeriod} * @memberof FeatureEntitlement */ metricPeriod?: MetricPeriod | null; /** * For event-based feature entitlements, when the usage period will reset * @type {Date} * @memberof FeatureEntitlement */ metricResetAt?: Date | null; /** * For event-based feature entitlements that have a monthly period, whether that monthly reset is based on the calendar month or a billing cycle * @type {MetricPeriodMonthReset} * @memberof FeatureEntitlement */ monthReset?: MetricPeriodMonthReset | null; /** * If the company has a credit-based entitlement for this feature, the credit cost per unit of each quantity an event carries, keyed by quantity key (per token for inference features). Absent when the entitlement prices requests only * @type {{ [key: string]: number; }} * @memberof FeatureEntitlement */ quantityRates?: { [key: string]: number; }; /** * For usage-based pricing, the soft limit for overage charges or the next tier boundary * @type {number} * @memberof FeatureEntitlement */ softLimit?: number | null; /** * If the company has a numeric entitlement for this feature, the current usage amount * @type {number} * @memberof FeatureEntitlement */ usage?: number | null; /** * The type of the entitlement value * @type {EntitlementValueType} * @memberof FeatureEntitlement */ valueType: EntitlementValueType; /** * Customer-defined usage warning thresholds configured on this entitlement * @type {Array} * @memberof FeatureEntitlement */ warningTiers?: Array; } /** * * @export */ declare const FeatureType: { readonly Boolean: "boolean"; readonly Event: "event"; readonly License: "license"; readonly Trait: "trait"; }; declare type FeatureType = (typeof FeatureType)[keyof typeof FeatureType]; declare function FeatureTypeFromJSON(json: any): FeatureType; declare function FeatureTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeatureType; declare function FeatureTypeToJSON(value?: FeatureType | null): any; declare function FeatureTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): FeatureType; /** * One feature the company is entitled to, and its usage. What the server has * already decided, so a consumer never re-derives it: * * * `price` — the one metered price the company is billed at: its billing * period's slot, in the subscription's currency when the feature is priced * in it. Absent when the period has none; another cadence's price is never * substituted. * * `currentCost` — what the feature costs at `price`, in its minor units. * * `perLicenseCreditGrants` — the plan's credit grants that scale with the * license this feature counts. */ export declare type FeatureUsage = CompanyFeatureUsageResponseData; /** * One event-based feature's usage by user over its current metric period: * a page of `users`, highest usage first; `count` users in all; the period's * `total`; and `unattributed` usage from events sent without a user, which is * not a user and never on the page. */ export declare type FeatureUserUsage = CompanyFeatureUserUsageResponseData; declare interface FeatureUserUsageRequest { featureId: string; /** Users per page; the server's default when omitted. */ limit?: number; offset?: number; } /** * Server prefetch for a provider's `initialData`. A resource that fails is * left out rather than thrown, so one of them cannot block a page. */ export declare function fetchBillingData(client: BillingClient, options: BillingPrefetchOptions): Promise; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface FinalizeCheckoutRequest */ declare interface FinalizeCheckoutRequest { /** * * @type {number} * @memberof FinalizeCheckoutRequest */ version: number; } declare function FinalizeCheckoutRequestFromJSON(json: any): FinalizeCheckoutRequest; declare function FinalizeCheckoutRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): FinalizeCheckoutRequest; declare function FinalizeCheckoutRequestToJSON(json: any): FinalizeCheckoutRequest; declare function FinalizeCheckoutRequestToJSONTyped(value?: FinalizeCheckoutRequest | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface FinalizeCheckoutResponse */ declare interface FinalizeCheckoutResponse { /** * * @type {CheckoutResponseData} * @memberof FinalizeCheckoutResponse */ data: CheckoutResponseData; /** * Input parameters * @type {object} * @memberof FinalizeCheckoutResponse */ params: object; } declare function FinalizeCheckoutResponseFromJSON(json: any): FinalizeCheckoutResponse; declare function FinalizeCheckoutResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): FinalizeCheckoutResponse; declare function FinalizeCheckoutResponseToJSON(json: any): FinalizeCheckoutResponse; declare function FinalizeCheckoutResponseToJSONTyped(value?: FinalizeCheckoutResponse | null, ignoreDiscriminator?: boolean): any; export declare type FlagCheckListenerFn = CheckFlagReturnListenerFn | EmptyListenerFn; export declare type FlagValueListenerFn = BooleanListenerFn | EmptyListenerFn; /** * * @export * @interface GetCatalogViewByIDResponse */ declare interface GetCatalogViewByIDResponse { /** * * @type {CompanyCatalogResponseData} * @memberof GetCatalogViewByIDResponse */ data: CompanyCatalogResponseData; /** * Input parameters * @type {object} * @memberof GetCatalogViewByIDResponse */ params: object; } declare function GetCatalogViewByIDResponseFromJSON(json: any): GetCatalogViewByIDResponse; declare function GetCatalogViewByIDResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCatalogViewByIDResponse; declare function GetCatalogViewByIDResponseToJSON(json: any): GetCatalogViewByIDResponse; declare function GetCatalogViewByIDResponseToJSONTyped(value?: GetCatalogViewByIDResponse | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface GetCatalogViewResponse */ declare interface GetCatalogViewResponse { /** * * @type {CompanyCatalogResponseData} * @memberof GetCatalogViewResponse */ data: CompanyCatalogResponseData; /** * Input parameters * @type {object} * @memberof GetCatalogViewResponse */ params: object; } declare function GetCatalogViewResponseFromJSON(json: any): GetCatalogViewResponse; declare function GetCatalogViewResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCatalogViewResponse; declare function GetCatalogViewResponseToJSON(json: any): GetCatalogViewResponse; declare function GetCatalogViewResponseToJSONTyped(value?: GetCatalogViewResponse | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface GetCheckoutResponse */ declare interface GetCheckoutResponse { /** * * @type {CheckoutDraftResponseData} * @memberof GetCheckoutResponse */ data: CheckoutDraftResponseData; /** * Input parameters * @type {object} * @memberof GetCheckoutResponse */ params: object; } declare function GetCheckoutResponseFromJSON(json: any): GetCheckoutResponse; declare function GetCheckoutResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCheckoutResponse; declare function GetCheckoutResponseToJSON(json: any): GetCheckoutResponse; declare function GetCheckoutResponseToJSONTyped(value?: GetCheckoutResponse | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface GetCheckoutTaxIDResponse */ declare interface GetCheckoutTaxIDResponse { /** * * @type {UpdateCheckoutTaxIDResponseData} * @memberof GetCheckoutTaxIDResponse */ data: UpdateCheckoutTaxIDResponseData; /** * Input parameters * @type {object} * @memberof GetCheckoutTaxIDResponse */ params: object; } declare function GetCheckoutTaxIDResponseFromJSON(json: any): GetCheckoutTaxIDResponse; declare function GetCheckoutTaxIDResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCheckoutTaxIDResponse; declare function GetCheckoutTaxIDResponseToJSON(json: any): GetCheckoutTaxIDResponse; declare function GetCheckoutTaxIDResponseToJSONTyped(value?: GetCheckoutTaxIDResponse | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface GetCompanyCreditBalancesResponse */ declare interface GetCompanyCreditBalancesResponse { /** * * @type {CompanyCreditBalancesResponseData} * @memberof GetCompanyCreditBalancesResponse */ data: CompanyCreditBalancesResponseData; /** * Input parameters * @type {object} * @memberof GetCompanyCreditBalancesResponse */ params: object; } declare function GetCompanyCreditBalancesResponseFromJSON(json: any): GetCompanyCreditBalancesResponse; declare function GetCompanyCreditBalancesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompanyCreditBalancesResponse; declare function GetCompanyCreditBalancesResponseToJSON(json: any): GetCompanyCreditBalancesResponse; declare function GetCompanyCreditBalancesResponseToJSONTyped(value?: GetCompanyCreditBalancesResponse | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * Input parameters * @export * @interface GetCompanyCreditUserUsageParams */ declare interface GetCompanyCreditUserUsageParams { /** * Page limit (default 100) * @type {number} * @memberof GetCompanyCreditUserUsageParams */ limit?: number; /** * Page offset (default 0) * @type {number} * @memberof GetCompanyCreditUserUsageParams */ offset?: number; } declare function GetCompanyCreditUserUsageParamsFromJSON(json: any): GetCompanyCreditUserUsageParams; declare function GetCompanyCreditUserUsageParamsFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompanyCreditUserUsageParams; declare function GetCompanyCreditUserUsageParamsToJSON(json: any): GetCompanyCreditUserUsageParams; declare function GetCompanyCreditUserUsageParamsToJSONTyped(value?: GetCompanyCreditUserUsageParams | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface GetCompanyCreditUserUsageResponse */ declare interface GetCompanyCreditUserUsageResponse { /** * * @type {CompanyCreditUserUsageResponseData} * @memberof GetCompanyCreditUserUsageResponse */ data: CompanyCreditUserUsageResponseData; /** * * @type {GetCompanyCreditUserUsageParams} * @memberof GetCompanyCreditUserUsageResponse */ params: GetCompanyCreditUserUsageParams; } declare function GetCompanyCreditUserUsageResponseFromJSON(json: any): GetCompanyCreditUserUsageResponse; declare function GetCompanyCreditUserUsageResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompanyCreditUserUsageResponse; declare function GetCompanyCreditUserUsageResponseToJSON(json: any): GetCompanyCreditUserUsageResponse; declare function GetCompanyCreditUserUsageResponseToJSONTyped(value?: GetCompanyCreditUserUsageResponse | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface GetCompanyFeatureUsageResponse */ declare interface GetCompanyFeatureUsageResponse { /** * * @type {CompanyFeatureUsageListResponseData} * @memberof GetCompanyFeatureUsageResponse */ data: CompanyFeatureUsageListResponseData; /** * Input parameters * @type {object} * @memberof GetCompanyFeatureUsageResponse */ params: object; } declare function GetCompanyFeatureUsageResponseFromJSON(json: any): GetCompanyFeatureUsageResponse; declare function GetCompanyFeatureUsageResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompanyFeatureUsageResponse; declare function GetCompanyFeatureUsageResponseToJSON(json: any): GetCompanyFeatureUsageResponse; declare function GetCompanyFeatureUsageResponseToJSONTyped(value?: GetCompanyFeatureUsageResponse | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * Input parameters * @export * @interface GetCompanyFeatureUserUsageParams */ declare interface GetCompanyFeatureUserUsageParams { /** * Page limit (default 100) * @type {number} * @memberof GetCompanyFeatureUserUsageParams */ limit?: number; /** * Page offset (default 0) * @type {number} * @memberof GetCompanyFeatureUserUsageParams */ offset?: number; } declare function GetCompanyFeatureUserUsageParamsFromJSON(json: any): GetCompanyFeatureUserUsageParams; declare function GetCompanyFeatureUserUsageParamsFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompanyFeatureUserUsageParams; declare function GetCompanyFeatureUserUsageParamsToJSON(json: any): GetCompanyFeatureUserUsageParams; declare function GetCompanyFeatureUserUsageParamsToJSONTyped(value?: GetCompanyFeatureUserUsageParams | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface GetCompanyFeatureUserUsageResponse */ declare interface GetCompanyFeatureUserUsageResponse { /** * * @type {CompanyFeatureUserUsageResponseData} * @memberof GetCompanyFeatureUserUsageResponse */ data: CompanyFeatureUserUsageResponseData; /** * * @type {GetCompanyFeatureUserUsageParams} * @memberof GetCompanyFeatureUserUsageResponse */ params: GetCompanyFeatureUserUsageParams; } declare function GetCompanyFeatureUserUsageResponseFromJSON(json: any): GetCompanyFeatureUserUsageResponse; declare function GetCompanyFeatureUserUsageResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompanyFeatureUserUsageResponse; declare function GetCompanyFeatureUserUsageResponseToJSON(json: any): GetCompanyFeatureUserUsageResponse; declare function GetCompanyFeatureUserUsageResponseToJSONTyped(value?: GetCompanyFeatureUserUsageResponse | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * Input parameters * @export * @interface GetCompanyInvoicesParams */ declare interface GetCompanyInvoicesParams { /** * Include unpaid invoices that are not yet due. This set is time-varying, so page from the response count and stop on an empty page. * @type {boolean} * @memberof GetCompanyInvoicesParams */ includePending?: boolean; /** * Page limit (default 100) * @type {number} * @memberof GetCompanyInvoicesParams */ limit?: number; /** * Page offset (default 0) * @type {number} * @memberof GetCompanyInvoicesParams */ offset?: number; } declare function GetCompanyInvoicesParamsFromJSON(json: any): GetCompanyInvoicesParams; declare function GetCompanyInvoicesParamsFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompanyInvoicesParams; declare function GetCompanyInvoicesParamsToJSON(json: any): GetCompanyInvoicesParams; declare function GetCompanyInvoicesParamsToJSONTyped(value?: GetCompanyInvoicesParams | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface GetCompanyInvoicesResponse */ declare interface GetCompanyInvoicesResponse { /** * * @type {CompanyInvoicesResponseData} * @memberof GetCompanyInvoicesResponse */ data: CompanyInvoicesResponseData; /** * * @type {GetCompanyInvoicesParams} * @memberof GetCompanyInvoicesResponse */ params: GetCompanyInvoicesParams; } declare function GetCompanyInvoicesResponseFromJSON(json: any): GetCompanyInvoicesResponse; declare function GetCompanyInvoicesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompanyInvoicesResponse; declare function GetCompanyInvoicesResponseToJSON(json: any): GetCompanyInvoicesResponse; declare function GetCompanyInvoicesResponseToJSONTyped(value?: GetCompanyInvoicesResponse | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface GetCompanyPaymentMethodsResponse */ declare interface GetCompanyPaymentMethodsResponse { /** * * @type {CompanyPaymentMethodsResponseData} * @memberof GetCompanyPaymentMethodsResponse */ data: CompanyPaymentMethodsResponseData; /** * Input parameters * @type {object} * @memberof GetCompanyPaymentMethodsResponse */ params: object; } declare function GetCompanyPaymentMethodsResponseFromJSON(json: any): GetCompanyPaymentMethodsResponse; declare function GetCompanyPaymentMethodsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompanyPaymentMethodsResponse; declare function GetCompanyPaymentMethodsResponseToJSON(json: any): GetCompanyPaymentMethodsResponse; declare function GetCompanyPaymentMethodsResponseToJSONTyped(value?: GetCompanyPaymentMethodsResponse | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface GetCompanyResponse */ declare interface GetCompanyResponse { /** * * @type {CompanyContextResponseData} * @memberof GetCompanyResponse */ data: CompanyContextResponseData; /** * Input parameters * @type {object} * @memberof GetCompanyResponse */ params: object; } declare function GetCompanyResponseFromJSON(json: any): GetCompanyResponse; declare function GetCompanyResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompanyResponse; declare function GetCompanyResponseToJSON(json: any): GetCompanyResponse; declare function GetCompanyResponseToJSONTyped(value?: GetCompanyResponse | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface GetCompanyUpcomingInvoiceResponse */ declare interface GetCompanyUpcomingInvoiceResponse { /** * * @type {CompanyUpcomingInvoiceResponseData} * @memberof GetCompanyUpcomingInvoiceResponse */ data: CompanyUpcomingInvoiceResponseData; /** * Input parameters * @type {object} * @memberof GetCompanyUpcomingInvoiceResponse */ params: object; } declare function GetCompanyUpcomingInvoiceResponseFromJSON(json: any): GetCompanyUpcomingInvoiceResponse; declare function GetCompanyUpcomingInvoiceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompanyUpcomingInvoiceResponse; declare function GetCompanyUpcomingInvoiceResponseToJSON(json: any): GetCompanyUpcomingInvoiceResponse; declare function GetCompanyUpcomingInvoiceResponseToJSONTyped(value?: GetCompanyUpcomingInvoiceResponse | null, ignoreDiscriminator?: boolean): any; /** * Check if a given object implements the ApiError interface. */ declare function instanceOfApiError(value: object): value is ApiError; declare function instanceOfBillingCreditAutoTopupAvailability(value: any): boolean; declare function instanceOfBillingCreditBundleType(value: any): boolean; declare function instanceOfBillingCreditExpiryType(value: any): boolean; declare function instanceOfBillingCreditExpiryUnit(value: any): boolean; declare function instanceOfBillingCreditGrantReason(value: any): boolean; declare function instanceOfBillingPlanCreditGrantResetCadence(value: any): boolean; declare function instanceOfBillingPriceScheme(value: any): boolean; declare function instanceOfBillingProductPriceInterval(value: any): boolean; declare function instanceOfBillingProviderType(value: any): boolean; declare function instanceOfBillingStrategy(value: any): boolean; declare function instanceOfBillingSubscriptionTrialEndSetting(value: any): boolean; declare function instanceOfBillingTiersMode(value: any): boolean; /** * Check if a given object implements the CatalogAutoTopupResponseData interface. */ declare function instanceOfCatalogAutoTopupResponseData(value: object): value is CatalogAutoTopupResponseData; /** * Check if a given object implements the CatalogBundleCurrencyPriceResponseData interface. */ declare function instanceOfCatalogBundleCurrencyPriceResponseData(value: object): value is CatalogBundleCurrencyPriceResponseData; /** * Check if a given object implements the CatalogCapabilitiesResponseData interface. */ declare function instanceOfCatalogCapabilitiesResponseData(value: object): value is CatalogCapabilitiesResponseData; /** * Check if a given object implements the CatalogCheckoutFieldResponseData interface. */ declare function instanceOfCatalogCheckoutFieldResponseData(value: object): value is CatalogCheckoutFieldResponseData; /** * Check if a given object implements the CatalogCheckoutSettingsResponseData interface. */ declare function instanceOfCatalogCheckoutSettingsResponseData(value: object): value is CatalogCheckoutSettingsResponseData; /** * Check if a given object implements the CatalogCompanyPlanResponseData interface. */ declare function instanceOfCatalogCompanyPlanResponseData(value: object): value is CatalogCompanyPlanResponseData; /** * Check if a given object implements the CatalogCreditBundleResponseData interface. */ declare function instanceOfCatalogCreditBundleResponseData(value: object): value is CatalogCreditBundleResponseData; /** * Check if a given object implements the CatalogCreditGrantResponseData interface. */ declare function instanceOfCatalogCreditGrantResponseData(value: object): value is CatalogCreditGrantResponseData; /** * Check if a given object implements the CatalogCurrencyPricesResponseData interface. */ declare function instanceOfCatalogCurrencyPricesResponseData(value: object): value is CatalogCurrencyPricesResponseData; /** * Check if a given object implements the CatalogCustomPlanCTAResponseData interface. */ declare function instanceOfCatalogCustomPlanCTAResponseData(value: object): value is CatalogCustomPlanCTAResponseData; /** * Check if a given object implements the CatalogPlanEntitlementResponseData interface. */ declare function instanceOfCatalogPlanEntitlementResponseData(value: object): value is CatalogPlanEntitlementResponseData; /** * Check if a given object implements the CatalogPlanRefResponseData interface. */ declare function instanceOfCatalogPlanRefResponseData(value: object): value is CatalogPlanRefResponseData; /** * Check if a given object implements the CatalogPriceResponseData interface. */ declare function instanceOfCatalogPriceResponseData(value: object): value is CatalogPriceResponseData; /** * Check if a given object implements the CatalogPriceTierResponseData interface. */ declare function instanceOfCatalogPriceTierResponseData(value: object): value is CatalogPriceTierResponseData; /** * Check if a given object implements the CatalogUsageViolationResponseData interface. */ declare function instanceOfCatalogUsageViolationResponseData(value: object): value is CatalogUsageViolationResponseData; declare function instanceOfChargeType(value: any): boolean; declare function instanceOfCheckoutBundlePurchaseBehavior(value: any): boolean; declare function instanceOfCheckoutChargeTiming(value: any): boolean; /** * Check if a given object implements the CheckoutDraftResponseData interface. */ declare function instanceOfCheckoutDraftResponseData(value: object): value is CheckoutDraftResponseData; /** * Check if a given object implements the CheckoutFieldValue interface. */ declare function instanceOfCheckoutFieldValue(value: object): value is CheckoutFieldValue; declare function instanceOfCheckoutIntent(value: any): boolean; /** * Check if a given object implements the CheckoutPriceSnapshot interface. */ declare function instanceOfCheckoutPriceSnapshot(value: object): value is CheckoutPriceSnapshot; /** * Check if a given object implements the CheckoutPriceSnapshotDiscount interface. */ declare function instanceOfCheckoutPriceSnapshotDiscount(value: object): value is CheckoutPriceSnapshotDiscount; /** * Check if a given object implements the CheckoutPriceSnapshotProration interface. */ declare function instanceOfCheckoutPriceSnapshotProration(value: object): value is CheckoutPriceSnapshotProration; /** * Check if a given object implements the CheckoutPriceSnapshotProrationLine interface. */ declare function instanceOfCheckoutPriceSnapshotProrationLine(value: object): value is CheckoutPriceSnapshotProrationLine; declare function instanceOfCheckoutProblemCode(value: any): boolean; /** * Check if a given object implements the CheckoutProblemResponseData interface. */ declare function instanceOfCheckoutProblemResponseData(value: object): value is CheckoutProblemResponseData; declare function instanceOfCheckoutProblemSource(value: any): boolean; /** * Check if a given object implements the CheckoutResponseData interface. */ declare function instanceOfCheckoutResponseData(value: object): value is CheckoutResponseData; /** * Check if a given object implements the CheckoutSelectionsResponseData interface. */ declare function instanceOfCheckoutSelectionsResponseData(value: object): value is CheckoutSelectionsResponseData; declare function instanceOfCheckoutStatus(value: any): boolean; /** * Check if a given object implements the CheckoutUnsubscribeResponse interface. */ declare function instanceOfCheckoutUnsubscribeResponse(value: object): value is CheckoutUnsubscribeResponse; /** * Check if a given object implements the CompanyCatalogResponseData interface. */ declare function instanceOfCompanyCatalogResponseData(value: object): value is CompanyCatalogResponseData; /** * Check if a given object implements the CompanyContextCustomPlanBillingResponseData interface. */ declare function instanceOfCompanyContextCustomPlanBillingResponseData(value: object): value is CompanyContextCustomPlanBillingResponseData; /** * Check if a given object implements the CompanyContextPlanResponseData interface. */ declare function instanceOfCompanyContextPlanResponseData(value: object): value is CompanyContextPlanResponseData; /** * Check if a given object implements the CompanyContextResponseData interface. */ declare function instanceOfCompanyContextResponseData(value: object): value is CompanyContextResponseData; /** * Check if a given object implements the CompanyContextScheduledDowngradeResponseData interface. */ declare function instanceOfCompanyContextScheduledDowngradeResponseData(value: object): value is CompanyContextScheduledDowngradeResponseData; /** * Check if a given object implements the CompanyContextSubscriptionResponseData interface. */ declare function instanceOfCompanyContextSubscriptionResponseData(value: object): value is CompanyContextSubscriptionResponseData; /** * Check if a given object implements the CompanyCreditAutoTopupResponseData interface. */ declare function instanceOfCompanyCreditAutoTopupResponseData(value: object): value is CompanyCreditAutoTopupResponseData; /** * Check if a given object implements the CompanyCreditBalanceResponseData interface. */ declare function instanceOfCompanyCreditBalanceResponseData(value: object): value is CompanyCreditBalanceResponseData; /** * Check if a given object implements the CompanyCreditBalancesResponseData interface. */ declare function instanceOfCompanyCreditBalancesResponseData(value: object): value is CompanyCreditBalancesResponseData; /** * Check if a given object implements the CompanyCreditCompositionResponseData interface. */ declare function instanceOfCompanyCreditCompositionResponseData(value: object): value is CompanyCreditCompositionResponseData; /** * Check if a given object implements the CompanyCreditGrantResponseData interface. */ declare function instanceOfCompanyCreditGrantResponseData(value: object): value is CompanyCreditGrantResponseData; /** * Check if a given object implements the CompanyCreditUserUsageResponseData interface. */ declare function instanceOfCompanyCreditUserUsageResponseData(value: object): value is CompanyCreditUserUsageResponseData; /** * Check if a given object implements the CompanyCreditUserUsageRowResponseData interface. */ declare function instanceOfCompanyCreditUserUsageRowResponseData(value: object): value is CompanyCreditUserUsageRowResponseData; /** * Check if a given object implements the CompanyDiscountResponseData interface. */ declare function instanceOfCompanyDiscountResponseData(value: object): value is CompanyDiscountResponseData; /** * Check if a given object implements the CompanyFeatureUsageListResponseData interface. */ declare function instanceOfCompanyFeatureUsageListResponseData(value: object): value is CompanyFeatureUsageListResponseData; /** * Check if a given object implements the CompanyFeatureUsageResponseData interface. */ declare function instanceOfCompanyFeatureUsageResponseData(value: object): value is CompanyFeatureUsageResponseData; /** * Check if a given object implements the CompanyFeatureUserUsageResponseData interface. */ declare function instanceOfCompanyFeatureUserUsageResponseData(value: object): value is CompanyFeatureUserUsageResponseData; /** * Check if a given object implements the CompanyInvoiceResponseData interface. */ declare function instanceOfCompanyInvoiceResponseData(value: object): value is CompanyInvoiceResponseData; /** * Check if a given object implements the CompanyInvoicesResponseData interface. */ declare function instanceOfCompanyInvoicesResponseData(value: object): value is CompanyInvoicesResponseData; /** * Check if a given object implements the CompanyPaymentMethodResponseData interface. */ declare function instanceOfCompanyPaymentMethodResponseData(value: object): value is CompanyPaymentMethodResponseData; /** * Check if a given object implements the CompanyPaymentMethodsResponseData interface. */ declare function instanceOfCompanyPaymentMethodsResponseData(value: object): value is CompanyPaymentMethodsResponseData; declare function instanceOfCompanyPlanInvalidReason(value: any): boolean; /** * Check if a given object implements the CompanyTaxIDView interface. */ declare function instanceOfCompanyTaxIDView(value: object): value is CompanyTaxIDView; /** * Check if a given object implements the CompanyUpcomingInvoiceResponseData interface. */ declare function instanceOfCompanyUpcomingInvoiceResponseData(value: object): value is CompanyUpcomingInvoiceResponseData; /** * Check if a given object implements the CompanyUserUsageResponseData interface. */ declare function instanceOfCompanyUserUsageResponseData(value: object): value is CompanyUserUsageResponseData; /** * Check if a given object implements the CreateCheckoutRequest interface. */ declare function instanceOfCreateCheckoutRequest(value: object): value is CreateCheckoutRequest; /** * Check if a given object implements the CreateCheckoutResponse interface. */ declare function instanceOfCreateCheckoutResponse(value: object): value is CreateCheckoutResponse; /** * Check if a given object implements the CreateSetupIntentResponse interface. */ declare function instanceOfCreateSetupIntentResponse(value: object): value is CreateSetupIntentResponse; declare function instanceOfCurrency(value: any): boolean; declare function instanceOfCustomPlanActivationStrategy(value: any): boolean; /** * Check if a given object implements the DeletePaymentMethodResponse interface. */ declare function instanceOfDeletePaymentMethodResponse(value: object): value is DeletePaymentMethodResponse; /** * Check if a given object implements the DeleteResponse interface. */ declare function instanceOfDeleteResponse(value: object): value is DeleteResponse; declare function instanceOfEntitlementPriceBehavior(value: any): boolean; declare function instanceOfEntitlementType(value: any): boolean; declare function instanceOfEntitlementValueType(value: any): boolean; declare function instanceOfFeatureType(value: any): boolean; /** * Check if a given object implements the FinalizeCheckoutRequest interface. */ declare function instanceOfFinalizeCheckoutRequest(value: object): value is FinalizeCheckoutRequest; /** * Check if a given object implements the FinalizeCheckoutResponse interface. */ declare function instanceOfFinalizeCheckoutResponse(value: object): value is FinalizeCheckoutResponse; /** * Check if a given object implements the GetCatalogViewByIDResponse interface. */ declare function instanceOfGetCatalogViewByIDResponse(value: object): value is GetCatalogViewByIDResponse; /** * Check if a given object implements the GetCatalogViewResponse interface. */ declare function instanceOfGetCatalogViewResponse(value: object): value is GetCatalogViewResponse; /** * Check if a given object implements the GetCheckoutResponse interface. */ declare function instanceOfGetCheckoutResponse(value: object): value is GetCheckoutResponse; /** * Check if a given object implements the GetCheckoutTaxIDResponse interface. */ declare function instanceOfGetCheckoutTaxIDResponse(value: object): value is GetCheckoutTaxIDResponse; /** * Check if a given object implements the GetCompanyCreditBalancesResponse interface. */ declare function instanceOfGetCompanyCreditBalancesResponse(value: object): value is GetCompanyCreditBalancesResponse; /** * Check if a given object implements the GetCompanyCreditUserUsageParams interface. */ declare function instanceOfGetCompanyCreditUserUsageParams(value: object): value is GetCompanyCreditUserUsageParams; /** * Check if a given object implements the GetCompanyCreditUserUsageResponse interface. */ declare function instanceOfGetCompanyCreditUserUsageResponse(value: object): value is GetCompanyCreditUserUsageResponse; /** * Check if a given object implements the GetCompanyFeatureUsageResponse interface. */ declare function instanceOfGetCompanyFeatureUsageResponse(value: object): value is GetCompanyFeatureUsageResponse; /** * Check if a given object implements the GetCompanyFeatureUserUsageParams interface. */ declare function instanceOfGetCompanyFeatureUserUsageParams(value: object): value is GetCompanyFeatureUserUsageParams; /** * Check if a given object implements the GetCompanyFeatureUserUsageResponse interface. */ declare function instanceOfGetCompanyFeatureUserUsageResponse(value: object): value is GetCompanyFeatureUserUsageResponse; /** * Check if a given object implements the GetCompanyInvoicesParams interface. */ declare function instanceOfGetCompanyInvoicesParams(value: object): value is GetCompanyInvoicesParams; /** * Check if a given object implements the GetCompanyInvoicesResponse interface. */ declare function instanceOfGetCompanyInvoicesResponse(value: object): value is GetCompanyInvoicesResponse; /** * Check if a given object implements the GetCompanyPaymentMethodsResponse interface. */ declare function instanceOfGetCompanyPaymentMethodsResponse(value: object): value is GetCompanyPaymentMethodsResponse; /** * Check if a given object implements the GetCompanyResponse interface. */ declare function instanceOfGetCompanyResponse(value: object): value is GetCompanyResponse; /** * Check if a given object implements the GetCompanyUpcomingInvoiceResponse interface. */ declare function instanceOfGetCompanyUpcomingInvoiceResponse(value: object): value is GetCompanyUpcomingInvoiceResponse; declare function instanceOfInvoiceStatus(value: any): boolean; /** * Check if a given object implements the ListCheckoutsParams interface. */ declare function instanceOfListCheckoutsParams(value: object): value is ListCheckoutsParams; /** * Check if a given object implements the ListCheckoutsResponse interface. */ declare function instanceOfListCheckoutsResponse(value: object): value is ListCheckoutsResponse; declare function instanceOfMetricPeriod(value: any): boolean; declare function instanceOfMetricPeriodMonthReset(value: any): boolean; /** * Check if a given object implements the PaymentMethodResponseData interface. */ declare function instanceOfPaymentMethodResponseData(value: object): value is PaymentMethodResponseData; declare function instanceOfPlanCreditGrantScaling(value: any): boolean; declare function instanceOfPlanPriceCadence(value: any): boolean; declare function instanceOfProrationBehavior(value: any): boolean; declare function instanceOfProrationLineKind(value: any): boolean; declare function instanceOfScheduledDowngradeConfigBehavior(value: any): boolean; /** * Check if a given object implements the SetupIntentResponseData interface. */ declare function instanceOfSetupIntentResponseData(value: object): value is SetupIntentResponseData; /** * Check if a given object implements the TaxIDInput interface. */ declare function instanceOfTaxIDInput(value: object): value is TaxIDInput; declare function instanceOfTaxIdType(value: any): boolean; /** * Check if a given object implements the UpdateAddOnRequestBody interface. */ declare function instanceOfUpdateAddOnRequestBody(value: object): value is UpdateAddOnRequestBody; /** * Check if a given object implements the UpdateAutoTopupOverrideRequestBody interface. */ declare function instanceOfUpdateAutoTopupOverrideRequestBody(value: object): value is UpdateAutoTopupOverrideRequestBody; /** * Check if a given object implements the UpdateCheckoutRequest interface. */ declare function instanceOfUpdateCheckoutRequest(value: object): value is UpdateCheckoutRequest; /** * Check if a given object implements the UpdateCheckoutResponse interface. */ declare function instanceOfUpdateCheckoutResponse(value: object): value is UpdateCheckoutResponse; /** * Check if a given object implements the UpdateCheckoutTaxIDRequestBody interface. */ declare function instanceOfUpdateCheckoutTaxIDRequestBody(value: object): value is UpdateCheckoutTaxIDRequestBody; /** * Check if a given object implements the UpdateCheckoutTaxIDResponse interface. */ declare function instanceOfUpdateCheckoutTaxIDResponse(value: object): value is UpdateCheckoutTaxIDResponse; /** * Check if a given object implements the UpdateCheckoutTaxIDResponseData interface. */ declare function instanceOfUpdateCheckoutTaxIDResponseData(value: object): value is UpdateCheckoutTaxIDResponseData; /** * Check if a given object implements the UpdateCreditBundleRequestBody interface. */ declare function instanceOfUpdateCreditBundleRequestBody(value: object): value is UpdateCreditBundleRequestBody; /** * Check if a given object implements the UpdatePayInAdvanceRequestBody interface. */ declare function instanceOfUpdatePayInAdvanceRequestBody(value: object): value is UpdatePayInAdvanceRequestBody; /** * Check if a given object implements the UpdatePaymentMethodRequestBody interface. */ declare function instanceOfUpdatePaymentMethodRequestBody(value: object): value is UpdatePaymentMethodRequestBody; /** * Check if a given object implements the UpdatePaymentMethodResponse interface. */ declare function instanceOfUpdatePaymentMethodResponse(value: object): value is UpdatePaymentMethodResponse; export declare type Invoice = CompanyInvoiceResponseData; /** A `limit` above this is a 400 (PaginationFilter in schematic-api). */ export declare const INVOICE_MAX_PAGE_SIZE = 250; export declare const INVOICE_PAGE_SIZE = 12; export declare interface InvoicePage { invoices: Invoice[]; /** Matching the query on the server, not the number loaded here. */ count: number; hasMore: boolean; } /** Each distinct query is its own row set with its own paging. */ export declare interface InvoiceQuery { /** Include unpaid invoices that are not yet due. Default false. */ includePending?: boolean; } export declare interface InvoicesRequest extends InvoiceQuery { limit: number; offset: number; } /** * The rows asked for, and how many the query matches in total. `hasMore` is * the page's, and only the caller knows its offset. */ export declare type InvoicesResult = Omit; /** * * @export */ export declare const InvoiceStatus: { readonly Draft: "draft"; readonly Open: "open"; readonly Paid: "paid"; readonly Uncollectible: "uncollectible"; readonly Void: "void"; }; export declare type InvoiceStatus = (typeof InvoiceStatus)[keyof typeof InvoiceStatus]; declare function InvoiceStatusFromJSON(json: any): InvoiceStatus; declare function InvoiceStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): InvoiceStatus; declare function InvoiceStatusToJSON(value?: InvoiceStatus | null): any; declare function InvoiceStatusToJSONTyped(value: any, ignoreDiscriminator: boolean): InvoiceStatus; /** A record of unique key-value pairs used for identifying a company or user */ export declare type Keys = Record; /** * Input parameters * @export * @interface ListCheckoutsParams */ declare interface ListCheckoutsParams { /** * * @type {string} * @memberof ListCheckoutsParams */ companyId?: string; /** * Page limit (default 100) * @type {number} * @memberof ListCheckoutsParams */ limit?: number; /** * Page offset (default 0) * @type {number} * @memberof ListCheckoutsParams */ offset?: number; /** * * @type {Array} * @memberof ListCheckoutsParams */ statuses?: Array; } declare function ListCheckoutsParamsFromJSON(json: any): ListCheckoutsParams; declare function ListCheckoutsParamsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListCheckoutsParams; declare function ListCheckoutsParamsToJSON(json: any): ListCheckoutsParams; declare function ListCheckoutsParamsToJSONTyped(value?: ListCheckoutsParams | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface ListCheckoutsResponse */ declare interface ListCheckoutsResponse { /** * * @type {Array} * @memberof ListCheckoutsResponse */ data: Array; /** * * @type {ListCheckoutsParams} * @memberof ListCheckoutsResponse */ params: ListCheckoutsParams; } declare function ListCheckoutsResponseFromJSON(json: any): ListCheckoutsResponse; declare function ListCheckoutsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListCheckoutsResponse; declare function ListCheckoutsResponseToJSON(json: any): ListCheckoutsResponse; declare function ListCheckoutsResponseToJSONTyped(value?: ListCheckoutsResponse | null, ignoreDiscriminator?: boolean): any; /** A metered price, tiers included. */ export declare type MeteredPrice = CatalogPriceResponseData; /** * * @export */ declare const MetricPeriod: { readonly AllTime: "all_time"; readonly CurrentDay: "current_day"; readonly CurrentMonth: "current_month"; readonly CurrentWeek: "current_week"; }; declare type MetricPeriod = (typeof MetricPeriod)[keyof typeof MetricPeriod]; /** * * @export */ declare const MetricPeriod_2: { readonly AllTime: "all_time"; readonly CurrentDay: "current_day"; readonly CurrentMonth: "current_month"; readonly CurrentWeek: "current_week"; }; declare type MetricPeriod_2 = (typeof MetricPeriod_2)[keyof typeof MetricPeriod_2]; declare function MetricPeriodFromJSON(json: any): MetricPeriod_2; declare function MetricPeriodFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetricPeriod_2; /** * * @export */ declare const MetricPeriodMonthReset: { readonly BillingCycle: "billing_cycle"; readonly FirstOfMonth: "first_of_month"; }; declare type MetricPeriodMonthReset = (typeof MetricPeriodMonthReset)[keyof typeof MetricPeriodMonthReset]; /** * * @export */ declare const MetricPeriodMonthReset_2: { readonly BillingCycle: "billing_cycle"; readonly FirstOfMonth: "first_of_month"; }; declare type MetricPeriodMonthReset_2 = (typeof MetricPeriodMonthReset_2)[keyof typeof MetricPeriodMonthReset_2]; declare function MetricPeriodMonthResetFromJSON(json: any): MetricPeriodMonthReset_2; declare function MetricPeriodMonthResetFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetricPeriodMonthReset_2; declare function MetricPeriodMonthResetToJSON(value?: MetricPeriodMonthReset_2 | null): any; declare function MetricPeriodMonthResetToJSONTyped(value: any, ignoreDiscriminator: boolean): MetricPeriodMonthReset_2; declare function MetricPeriodToJSON(value?: MetricPeriod_2 | null): any; declare function MetricPeriodToJSONTyped(value: any, ignoreDiscriminator: boolean): MetricPeriod_2; /** As for invoices: `{ catalogId: undefined }` is the same resource as `{}`. */ export declare function normalizeCatalogQuery(query: CatalogQuery): CatalogQuery; /** * The store keys a resource by the query's shape, so without this * `{ includePending: false }` is a different row set from `{}` — it would * miss the seed and refetch rows identical to those already on screen. */ export declare function normalizeInvoiceQuery(query: InvoiceQuery): InvoiceQuery; /** * One way the company pays. Two flags the server has already decided, so a * consumer never re-derives a provider's rules: * * * `isDefault` — the subscription's default method, or, when the * subscription names none, the customer's. * * `canRemove` — whether a delete would be accepted; the server's rule, * not `!isDefault`. * * `id` is Schematic's, and is what a delete takes; `externalId` is the * provider's, and is what making it the default takes. */ export declare type PaymentMethod = CompanyPaymentMethodResponseData; /** * * @export * @interface PaymentMethodResponseData */ declare interface PaymentMethodResponseData { /** * * @type {string} * @memberof PaymentMethodResponseData */ accountLast4?: string | null; /** * * @type {string} * @memberof PaymentMethodResponseData */ accountName?: string | null; /** * * @type {string} * @memberof PaymentMethodResponseData */ bankName?: string | null; /** * * @type {string} * @memberof PaymentMethodResponseData */ billingEmail?: string | null; /** * * @type {string} * @memberof PaymentMethodResponseData */ billingName?: string | null; /** * * @type {string} * @memberof PaymentMethodResponseData */ cardBrand?: string | null; /** * * @type {number} * @memberof PaymentMethodResponseData */ cardExpMonth?: number | null; /** * * @type {number} * @memberof PaymentMethodResponseData */ cardExpYear?: number | null; /** * * @type {string} * @memberof PaymentMethodResponseData */ cardLast4?: string | null; /** * * @type {string} * @memberof PaymentMethodResponseData */ companyId?: string | null; /** * * @type {Date} * @memberof PaymentMethodResponseData */ createdAt: Date; /** * * @type {string} * @memberof PaymentMethodResponseData */ customerExternalId: string; /** * * @type {string} * @memberof PaymentMethodResponseData */ environmentId: string; /** * * @type {string} * @memberof PaymentMethodResponseData */ externalId: string; /** * * @type {string} * @memberof PaymentMethodResponseData */ id: string; /** * * @type {string} * @memberof PaymentMethodResponseData */ paymentMethodType: string; /** * * @type {BillingProviderType} * @memberof PaymentMethodResponseData */ providerType: BillingProviderType; /** * * @type {Date} * @memberof PaymentMethodResponseData */ updatedAt: Date; } declare function PaymentMethodResponseDataFromJSON(json: any): PaymentMethodResponseData; declare function PaymentMethodResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaymentMethodResponseData; declare function PaymentMethodResponseDataToJSON(json: any): PaymentMethodResponseData; declare function PaymentMethodResponseDataToJSONTyped(value?: PaymentMethodResponseData | null, ignoreDiscriminator?: boolean): any; export declare type PendingListenerFn = BooleanListenerFn | EmptyListenerFn; /** A plan credit grant that scales per license. */ export declare type PerLicenseCreditGrant = CatalogCreditGrantResponseData; /** * * @export */ declare const PlanCreditGrantScaling: { readonly Fixed: "fixed"; readonly PerLicense: "per_license"; }; declare type PlanCreditGrantScaling = (typeof PlanCreditGrantScaling)[keyof typeof PlanCreditGrantScaling]; declare function PlanCreditGrantScalingFromJSON(json: any): PlanCreditGrantScaling; declare function PlanCreditGrantScalingFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlanCreditGrantScaling; declare function PlanCreditGrantScalingToJSON(value?: PlanCreditGrantScaling | null): any; declare function PlanCreditGrantScalingToJSONTyped(value: any, ignoreDiscriminator: boolean): PlanCreditGrantScaling; export declare type PlanListenerFn = CheckPlanReturnListenerFn | EmptyListenerFn; /** * * @export */ declare const PlanPriceCadence: { readonly Monthly: "monthly"; readonly Quarterly: "quarterly"; readonly Yearly: "yearly"; }; declare type PlanPriceCadence = (typeof PlanPriceCadence)[keyof typeof PlanPriceCadence]; declare function PlanPriceCadenceFromJSON(json: any): PlanPriceCadence; declare function PlanPriceCadenceFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlanPriceCadence; declare function PlanPriceCadenceToJSON(value?: PlanPriceCadence | null): any; declare function PlanPriceCadenceToJSONTyped(value: any, ignoreDiscriminator: boolean): PlanPriceCadence; /** * * @export */ declare const ProrationBehavior: { readonly CreateProrations: "create_prorations"; readonly InvoiceImmediately: "invoice_immediately"; }; declare type ProrationBehavior = (typeof ProrationBehavior)[keyof typeof ProrationBehavior]; declare function ProrationBehaviorFromJSON(json: any): ProrationBehavior; declare function ProrationBehaviorFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProrationBehavior; declare function ProrationBehaviorToJSON(value?: ProrationBehavior | null): any; declare function ProrationBehaviorToJSONTyped(value: any, ignoreDiscriminator: boolean): ProrationBehavior; /** * * @export */ declare const ProrationLineKind: { readonly Charge: "charge"; readonly Credit: "credit"; }; declare type ProrationLineKind = (typeof ProrationLineKind)[keyof typeof ProrationLineKind]; declare function ProrationLineKindFromJSON(json: any): ProrationLineKind; declare function ProrationLineKindFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProrationLineKind; declare function ProrationLineKindToJSON(value?: ProrationLineKind | null): any; declare function ProrationLineKindToJSONTyped(value: any, ignoreDiscriminator: boolean): ProrationLineKind; export declare interface RequestOptions { method?: string; body?: unknown; /** * Sent beside the client's own. The credential is the session's and cannot * be replaced from here. */ headers?: Record; /** * Success statuses that carry no body — a 204 for a resource that is * legitimately absent. The request resolves `undefined` for them, which * is distinct from a body that parsed to `null`. A 401 is never one — the * refresh and retry run first, and only what comes back from that is * judged. */ noContentOn?: number[]; } export declare interface ResourceState { /** `undefined` until the first successful load; retained across later errors. */ data: T | undefined; /** The latest failure; cleared by the next success. */ error: Error | undefined; /** A request is in flight and no data has arrived yet, or a refetch is running. */ isPending: boolean; } export declare enum RuleType { /** A global rule that, if present, will override all other rules for a flag */ GLOBAL_OVERRIDE = "global_override", /** Rule type indicating feature access provisioned to a company via an override */ COMPANY_OVERRIDE = "company_override", /** Rule type indicating that feature access has been provisione to a company via an override, but the usage limit has been reached or exceeded */ COMPANY_OVERRIDE_USAGE_EXCEEDED = "company_override_usage_exceeded", /** Rule type indicating feature access provisioned to a company via its base plan or add-ons */ PLAN_ENTITLEMENT = "plan_entitlement", /** Rule type indicating that feature access has been provisione to a company via base plan or add-ons, but the usage limit has been reached or exceeded */ PLAN_ENTITLEMENT_USAGE_EXCEEDED = "plan_entitlement_usage_exceeded", /** General-purpose targeting rule */ STANDARD = "standard", /** Default rule type that will be used if no other rules are matched */ DEFAULT = "default" } /** * * @export */ declare const RuleType_2: { readonly CompanyOverride: "company_override"; readonly CompanyOverrideUsageExceeded: "company_override_usage_exceeded"; readonly Default: "default"; readonly GlobalOverride: "global_override"; readonly PlanEntitlement: "plan_entitlement"; readonly PlanEntitlementUsageExceeded: "plan_entitlement_usage_exceeded"; readonly Standard: "standard"; }; declare type RuleType_2 = (typeof RuleType_2)[keyof typeof RuleType_2]; export declare type ScheduledDowngrade = CompanyContextScheduledDowngradeResponseData; /** * * @export */ declare const ScheduledDowngradeConfigBehavior: { readonly EndOfBillingPeriod: "end_of_billing_period"; readonly None: "none"; }; declare type ScheduledDowngradeConfigBehavior = (typeof ScheduledDowngradeConfigBehavior)[keyof typeof ScheduledDowngradeConfigBehavior]; declare function ScheduledDowngradeConfigBehaviorFromJSON(json: any): ScheduledDowngradeConfigBehavior; declare function ScheduledDowngradeConfigBehaviorFromJSONTyped(json: any, ignoreDiscriminator: boolean): ScheduledDowngradeConfigBehavior; declare function ScheduledDowngradeConfigBehaviorToJSON(value?: ScheduledDowngradeConfigBehavior | null): any; declare function ScheduledDowngradeConfigBehaviorToJSONTyped(value: any, ignoreDiscriminator: boolean): ScheduledDowngradeConfigBehavior; export declare class Schematic { private _additionalHeaders; private apiKey; private contextSignatureManager?; private _apiUrl; private conn; private context; private debugEnabled; private offlineEnabled; private eventQueue; private contextDependentEventQueue; private eventUrl; private flagCheckListeners; private flagValueListeners; private isPending; private isPendingListeners; private planListeners; private creditBalanceListeners; private creditSpendPolicyListeners; private storage; private persistFlagState; private flagStateCacheKey; private flagStateCacheMaxAgeMs; private cachedFlagState; private useWebSocket; private checks; private featureUsageEventMap; private planChecks; private creditBalances; private creditSpendPolicies; private webSocketUrl; private webSocketConnectionTimeout; private webSocketReconnect; private webSocketMaxReconnectAttempts; private webSocketMaxConnectionAttempts; private webSocketInitialRetryDelay; private webSocketMaxRetryDelay; private wsReconnectAttempts; private wsReconnectTimer; private wsIntentionalDisconnect; private currentWebSocket; private isConnecting; private maxEventQueueSize; private maxEventRetries; private eventRetryInitialDelay; private eventRetryMaxDelay; private retryTimer; private flagValueDefaults; private flagCheckDefaults; private fallbackCheckCache; constructor(apiKey: string, options?: SchematicOptions); get apiUrl(): string; get additionalHeaders(): Record; /** * Resolve fallback value according to priority order: * 1. Callsite fallback value (if provided) * 2. Boolean value from flagCheckDefaults initialization option * 3. Boolean value from flagValueDefaults initialization option * 4. Default to false */ private resolveFallbackValue; /** * Resolve complete CheckFlagReturn object according to priority order: * 1. Use callsite fallback for boolean value, construct CheckFlagReturn * 2. Use flagCheckDefaults if available for this flag * 3. Use flagValueDefaults if available for this flag, construct CheckFlagReturn * 4. Default CheckFlagReturn with value: false */ private resolveFallbackCheckFlagReturn; /** * Get value for a single flag. * In WebSocket mode, returns cached values if connection is active, otherwise establishes * new connection and then returns the requested value. Falls back to preconfigured fallback * values if WebSocket connection fails. * In REST mode, makes an API call for each check. */ checkFlag(options: CheckOptions): Promise; /** * Helper function to log debug messages * Only logs if debug mode is enabled */ debug(message: string, ...args: unknown[]): void; /** * Resolve the HMAC context-signature value for a context, if a signature * provider is configured. Returns undefined when no provider is set, when * offline, or when the signature could not be obtained. */ private contextSignature; /** * Build the `X-Schematic-Context-Sig` header for a context, or an empty * object when no signature is available. Spread into request headers. * * Returns synchronously (not a Promise) when no signature provider is * configured, so callers that dispatch on the same tick (e.g. fire-and-forget * event sends) keep their existing timing; only a configured provider, which * must fetch a signature, yields a Promise. */ private contextSignatureHeaders; /** * Create a persistent message handler for websocket flag updates */ private createPersistentMessageHandler; /** * Helper function to check if client is in offline mode */ private isOffline; /** * Submit a flag check event * Records data about a flag check for analytics */ private submitFlagCheckEvent; /** * Make an API call to fetch all flag values for a given context. * Recommended for use in REST mode only. * In offline mode, returns an empty object. */ checkFlags: (context?: SchematicContext) => Promise>; /** * Send an identify event. * This will set the context for subsequent flag evaluation and events, and will also * send an identify event to the Schematic API which will upsert a user and company. */ identify: (body: EventBodyIdentify) => Promise; /** * Set the flag evaluation context. * In WebSocket mode, this will: * 1. Open a websocket connection if not already open * 2. Send the context to the server * 3. Wait for initial flag values to be returned * The promise resolves when initial flag values are received. * In offline mode, this will just set the context locally without connecting. */ setContext: (context: SchematicContext) => Promise; /** * Send a track event * Track usage for a company and/or user. * Optimistically updates feature usage flags if tracking a featureUsageEvent. */ track: (body: EventBodyTrack) => Promise; /** * Optimistically update feature usage flags associated with a tracked event * This updates flags in memory with updated usage counts and value/featureUsageExceeded flags * before the network request completes */ private optimisticallyUpdateFeatureUsage; /** * Event processing */ private hasContext; private flushContextDependentEventQueue; private startRetryTimer; private stopRetryTimer; private flushEventQueue; private getAnonymousId; private hasCachedValuesForContext; private readFlagStateCache; private reviveCachedCheck; private reviveCachedPlan; private reviveCachedCreditBalances; private hydrateFlagStateFromCache; private persistContextToCache; private handleEvent; private sendEvent; private storeEvent; /** * Websocket management */ /** * Force an immediate WebSocket reconnection. * This is useful when the application returns from a background state (e.g., mobile app * coming back to foreground) and wants to immediately re-establish the connection * rather than waiting for the exponential backoff timer. * * This method will: * - Cancel any pending reconnection timer * - Reset the reconnection attempt counter * - Close any existing connection * - Immediately attempt to reconnect * - Re-send the current context to get fresh flag values * * Use this when you need guaranteed fresh values (e.g., after an in-app purchase). * * @example * ```typescript * // React Native example: reconnect when app comes to foreground * useEffect(() => { * const subscription = AppState.addEventListener("change", (state) => { * if (state === "active") { * client.forceReconnect(); * } * }); * return () => subscription.remove(); * }, [client]); * ``` */ forceReconnect: () => Promise; /** * Reconnect the WebSocket connection only if the current connection is unhealthy. * This is useful when the application returns from a background state and wants to * ensure a healthy connection exists, but doesn't need to force a reconnection if * the connection is still active. * * This method will: * - Check if an existing connection is healthy (readyState === OPEN) * - If healthy, return immediately without reconnecting * - If unhealthy, perform the same reconnection logic as forceReconnect() * * Use this when you want efficient reconnection that avoids unnecessary disconnects. * * @example * ```typescript * // React Native example: reconnect only if needed when app comes to foreground * useEffect(() => { * const subscription = AppState.addEventListener("change", (state) => { * if (state === "active") { * client.reconnectIfNeeded(); * } * }); * return () => subscription.remove(); * }, [client]); * ``` */ reconnectIfNeeded: () => Promise; /** * Internal method to handle reconnection logic for both forceReconnect and reconnectIfNeeded. */ private reconnect; /** * If using websocket mode, close the connection when done. * In offline mode, this is a no-op. */ cleanup: () => Promise; /** * Calculate the delay for the next reconnection attempt using exponential backoff with jitter. * This helps prevent dogpiling when the server recovers from an outage. */ private calculateReconnectDelay; /** * Handle browser going offline */ private handleNetworkOffline; /** * Handle browser coming back online */ private handleNetworkOnline; /** * Attempt to reconnect the WebSocket connection with exponential backoff. * Called automatically when the connection closes unexpectedly. */ private attemptReconnect; private wsConnect; private wsConnectOnce; private wsSendMessage; /** * State management */ getIsPending: () => boolean; addIsPendingListener: (listener: PendingListenerFn) => () => void; private setIsPending; getPlan: () => CheckPlanReturn | undefined; /** Get the company's lease-aware credit balances for the current context, keyed by credit ID */ getCreditBalances: () => CreditBalances; /** Get the company's lease-aware balance for a single credit type in the current context */ getCreditBalance: (creditId: string) => CreditBalance | undefined; /** Get every credit spend policy binding the current context, company-scope first */ getCreditSpendPolicies: () => CreditSpendPolicies; /** Get the spend policies binding a single credit type in the current context */ getCreditSpendPoliciesForCredit: (creditId: string) => CreditSpendPolicies; getFlagCheck: (flagKey: string) => CheckFlagReturn | undefined; getFlagValue: (flagKey: string) => boolean | undefined; /** Register an event listener that will be notified with the boolean value for a given flag when this value changes */ addFlagValueListener: (flagKey: string, listener: FlagValueListenerFn) => () => void; /** Register an event listener that will be notified with the full flag check response for a given flag whenever this value changes */ addFlagCheckListener: (flagKey: string, listener: FlagCheckListenerFn) => () => void; addPlanListener: (listener: PlanListenerFn) => () => void; /** Register an event listener that will be notified with the company's credit balances (keyed by credit ID) whenever they change */ addCreditBalanceListener: (listener: CreditBalanceListenerFn) => () => void; /** Register an event listener that will be notified with the context's credit spend policies whenever the set changes */ addCreditSpendPolicyListener: (listener: CreditSpendPolicyListenerFn) => () => void; private notifyFlagCheckListeners; /** Add or update a CheckFlagReturn in the featureUsageEventMap */ private updateFeatureUsageEventMap; private notifyFlagValueListeners; private notifyPlanListeners; private notifyCreditSpendPolicyListeners; private notifyCreditBalanceListeners; } export declare class SchematicApiError extends Error { readonly status: number; readonly path: string; readonly body: unknown; constructor(status: number, path: string, body: unknown); } export declare class SchematicBillingClient implements BillingClient { /** * Public so a second client over the same surface can be constructed on * this one rather than minting tokens of its own. */ readonly session: SchematicSession; constructor(options?: BillingClientOptions | SchematicSession); get sessionKey(): string | undefined; get sessionStatus(): SessionStatus; setSession(session: SessionInput): void; onSessionChange(listener: (event: SessionEvent) => void): () => void; fetchCatalog(query?: CatalogQuery): Promise; createCheckout(selections: CheckoutSelections): Promise; getCheckout(id: string): Promise; updateCheckout(id: string, version: number, selections: CheckoutSelections): Promise; finalizeCheckout(id: string, version: number, options?: { sessionId?: string; }): Promise; private checkoutWrite; fetchInvoices(params: InvoicesRequest): Promise; fetchUpcomingInvoice(): Promise; fetchPaymentMethods(): Promise; createSetupIntent(): Promise; updatePaymentMethod(externalId: string): Promise; deletePaymentMethod(id: string): Promise; cancelSubscription(): Promise; fetchTaxIds(): Promise; updateTaxId(taxId: TaxIdInput): Promise; fetchFeatureUsage(): Promise; fetchCompany(): Promise; fetchCreditBalances(): Promise; fetchCreditUserUsage(params: CreditUserUsageRequest): Promise; fetchFeatureUserUsage(params: FeatureUserUsageRequest): Promise; } /** Context for checking flags and sending events */ export declare type SchematicContext = { company?: Keys; user?: Keys; }; export declare type SchematicOptions = { /** Optionally provide any additional headers to include in the request */ additionalHeaders?: Record; /** Optionally provide a custom API URL */ apiUrl?: string; /** Enable debug mode to log flag check results and events to the console. * Can also be enabled at runtime via URL query parameter "schematic_debug=true" */ debug?: boolean; /** Optionally provide a custom event URL */ eventUrl?: string; /** Optionally provide a function that returns an HMAC context signature * (`iat.exp.sig`) for a given context. Required only when the Schematic * environment has context-signature verification enabled. Because a * publishable key is public, the signature must be produced by your backend * (which holds the matching secret API key); this function typically forwards * the context to that backend and returns the value it computes. The SDK * caches the signature per context, derives its expiry from the returned * string, and attaches it as the `X-Schematic-Context-Sig` header on flag * checks, the WebSocket bootstrap, and events. */ getContextSignature?: ContextSignatureProvider; /** Enable offline mode to prevent all network requests. * When enabled, events are only logged not sent, and flag checks return fallback values. * Can also be enabled at runtime via URL query parameter "schematic_offline=true" */ offline?: boolean; /** Optionally provide a custom storage persister for client-side storage */ storage?: StoragePersister; /** Persist flag check results (and plan) keyed by context to the storage persister so subsequent page loads can boot with last-known values rather than fallbacks. Defaults to true; set false to disable. * * When a cache hit is found on `setContext`, `isPending` flips to false synchronously even if the cache only contains a subset of the flags the app subscribes to — uncached flags will resolve via configured fallbacks (`flagCheckDefaults`/`flagValueDefaults`) until the WebSocket reconciles. */ persistFlagState?: boolean; /** Maximum age (ms) of a persisted cache entry before it is treated as stale on hydration. Per-context; older entries are dropped at construction time and on the next persist. Defaults to 7 days. */ flagStateCacheMaxAgeMs?: number; /** Use a WebSocket connection for real-time flag checks; if using this, run the cleanup function to close the connection */ useWebSocket?: boolean; /** Optionally provide a custom WebSocket URL */ webSocketUrl?: string; /** WebSocket connection timeout in milliseconds (default: 10000) */ webSocketConnectionTimeout?: number; /** Enable automatic reconnection on WebSocket disconnect (default: true) */ webSocketReconnect?: boolean; /** Maximum number of reconnection attempts (default: 7, set to Infinity for unlimited) */ webSocketMaxReconnectAttempts?: number; /** Initial retry delay in milliseconds for exponential backoff (default: 1000) */ webSocketInitialRetryDelay?: number; /** Maximum retry delay in milliseconds for exponential backoff (default: 30000) */ webSocketMaxRetryDelay?: number; /** Maximum number of events to queue for retry when network is down (default: 100) */ maxEventQueueSize?: number; /** Maximum number of retry attempts for failed events (default: 5) */ maxEventRetries?: number; /** Initial retry delay in milliseconds for failed events (default: 1000) */ eventRetryInitialDelay?: number; /** Maximum retry delay in milliseconds for failed events (default: 30000) */ eventRetryMaxDelay?: number; /** Default boolean values for flags when Schematic API cannot be reached and no callsite fallback is provided */ flagValueDefaults?: Record; /** Default CheckFlagReturn objects for flags when Schematic API cannot be reached and no callsite fallback is provided */ flagCheckDefaults?: Record; }; /** * Session identity is the (company, user) pair alone: a freshly minted token, * a rebuilt provider closure, and a refresh this session asked for itself are * all the same session. Nothing in a token says who it was minted for, so * that question is the host's to answer. * * Credentials survive a change of session, keyed by pair — switching back to * a company reads with the token already in hand. They do not survive the * session ending: after a sign-out the next person at this page is somebody * else, and nothing minted for the last one is theirs to send. */ export declare class SchematicSession { private readonly _apiUrl; private readonly _headers; private readonly _fetch; private _session; private readonly _tokens; private readonly _resolving; /** * Bumped when the session's identity changes, and only then — the object * itself is replaced on every render. Anything asking "is this still the * session I started under?" counts generations rather than comparing. */ private _generation; private readonly _listeners; constructor(options?: SessionOptions); get key(): string | undefined; get status(): SessionStatus; /** Only a statement that changes which pair is read counts as a change. */ set(session: SessionInput): void; onChange(listener: (event: SessionEvent) => void): () => void; private _emit; private _cached; private _cache; /** * The credential for a session, minted if this one is not held. `force` * retires what is held first: the caller is a request the API has just * rejected. */ resolveToken(session: Session, force: boolean): Promise; /** * Sends a request under the active session's credential, refreshing once * and retrying if the API rejects it. Rejects rather than answering when * the session changes while the request is in flight: the rows would * otherwise come back as the answer to a question asked for another pair. */ request(path: string, options?: RequestOptions): Promise; /** * `request`, with the headers the answer came back with — for a resource * whose protocol rides beside the body, as a checkout's session does. */ requestWithResponse(path: string, options?: RequestOptions): Promise<{ body: unknown; headers: Headers; }>; } /** * Who is being read. Users and companies are many-to-many: the same person * reads one company's billing and then another's, and the same company is * read by several people. A token is minted for the pair, so the pair — not * the company alone — is the session's identity. */ export declare interface Session { /** The host's name for the company, its id in their own system say. */ company: string; /** * The user, where the host mints per (company, user). Left out by a host * whose tokens are company-wide, and then every reader of that company * shares one session. */ user?: string; token: AccessToken; } /** * What happened to the session, for anything holding data that belongs to * one. `started`: whatever is loaded belongs to the new session — a prefetch * the host seeded before its auth resolved. `changed`: another pair is being * read, and what is loaded belongs to the pair being left. `ended`: nobody is * signed in, and what is loaded belongs to nobody. */ export declare type SessionEvent = { type: "started" | "changed" | "ended"; }; /** * Three states that are not interchangeable: * * * `Session` — active: this pair, read with this credential. * * `null` — ended: nobody is signed in; what is loaded is dropped. * * `undefined` — pending: the host's auth has not resolved. It states * nothing, so the session in hand stands. */ export declare type SessionInput = Session | null | undefined; /** * The pair as one string, for anything that has to compare sessions or key * something by one — a prefetch stating which session it was fetched for, a * store keeping a page per session. Opaque: read it only by equality. */ export declare function sessionKey(session: Session): string; export declare interface SessionOptions { session?: SessionInput; apiUrl?: string; additionalHeaders?: Record; /** Override for tests and non-browser runtimes. */ fetch?: typeof fetch; } export declare type SessionStatus = "pending" | "active" | "ended"; /** What a provider's card form is mounted with to add a method. */ export declare type SetupIntent = SetupIntentResponseData; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface SetupIntentResponseData */ export declare interface SetupIntentResponseData { /** * * @type {string} * @memberof SetupIntentResponseData */ accountId?: string | null; /** * * @type {string} * @memberof SetupIntentResponseData */ publishableKey?: string | null; /** * * @type {string} * @memberof SetupIntentResponseData */ schematicPublishableKey: string; /** * * @type {string} * @memberof SetupIntentResponseData */ setupIntentClientSecret?: string | null; } declare function SetupIntentResponseDataFromJSON(json: any): SetupIntentResponseData; declare function SetupIntentResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SetupIntentResponseData; declare function SetupIntentResponseDataToJSON(json: any): SetupIntentResponseData; declare function SetupIntentResponseDataToJSONTyped(value?: SetupIntentResponseData | null, ignoreDiscriminator?: boolean): any; /** The params of every singleton resource. */ export declare const SINGLETON: Record; /** Optional type for implementing custom client-side storage */ export declare type StoragePersister = { setItem(key: string, value: any): void; getItem(key: string): any; removeItem(key: string): void; }; /** One tax ID on file, as the provider verified it. */ export declare type TaxId = CompanyTaxIDView; /** * * @export * @interface TaxIDInput */ export declare interface TaxIDInput { /** * * @type {TaxIdType} * @memberof TaxIDInput */ type: TaxIdType; /** * * @type {string} * @memberof TaxIDInput */ value: string; } /** A tax ID to set: its provider type (`eu_vat`, `us_ein`, …) and value. */ export declare type TaxIdInput = TaxIDInput; declare function TaxIDInputFromJSON(json: any): TaxIDInput; declare function TaxIDInputFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaxIDInput; declare function TaxIDInputToJSON(json: any): TaxIDInput; declare function TaxIDInputToJSONTyped(value?: TaxIDInput | null, ignoreDiscriminator?: boolean): any; /** * * @export */ export declare const TaxIdType: { readonly AeTrn: "ae_trn"; readonly AuAbn: "au_abn"; readonly AuArn: "au_arn"; readonly BrCnpj: "br_cnpj"; readonly BrCpf: "br_cpf"; readonly CaBn: "ca_bn"; readonly CaGstHst: "ca_gst_hst"; readonly CaPstBc: "ca_pst_bc"; readonly CaPstMb: "ca_pst_mb"; readonly CaPstSk: "ca_pst_sk"; readonly CaQst: "ca_qst"; readonly ChUid: "ch_uid"; readonly ChVat: "ch_vat"; readonly EuVat: "eu_vat"; readonly GbVat: "gb_vat"; readonly HkBr: "hk_br"; readonly IdNpwp: "id_npwp"; readonly IlVat: "il_vat"; readonly InGst: "in_gst"; readonly JpCn: "jp_cn"; readonly JpRn: "jp_rn"; readonly JpTrn: "jp_trn"; readonly KrBrn: "kr_brn"; readonly MxRfc: "mx_rfc"; readonly MyFrp: "my_frp"; readonly MyItn: "my_itn"; readonly MySst: "my_sst"; readonly NoVat: "no_vat"; readonly NzGst: "nz_gst"; readonly PhTin: "ph_tin"; readonly SaVat: "sa_vat"; readonly SgGst: "sg_gst"; readonly SgUen: "sg_uen"; readonly ThVat: "th_vat"; readonly TrTin: "tr_tin"; readonly TwVat: "tw_vat"; readonly UsEin: "us_ein"; readonly ZaVat: "za_vat"; }; export declare type TaxIdType = (typeof TaxIdType)[keyof typeof TaxIdType]; declare function TaxIdTypeFromJSON(json: any): TaxIdType; declare function TaxIdTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaxIdType; declare function TaxIdTypeToJSON(value?: TaxIdType | null): any; declare function TaxIdTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): TaxIdType; /** * Sessions whose credentials are kept. A reader switching between the * organizations they belong to walks a handful of them and comes back, and * re-minting on every step is a round trip to the host's token endpoint for * a token this client already holds and has not seen expire. The same * handful the flag cache bounds its contexts at. */ export declare const TOKEN_CACHE_SIZE = 10; /** * A flexible key/value type that can store any type of value on a company or user. */ export declare type Traits = Record; /** * * @export */ export declare const TrialStatus: { readonly Active: "active"; readonly Converted: "converted"; readonly Expired: "expired"; }; export declare type TrialStatus = (typeof TrialStatus)[keyof typeof TrialStatus]; export declare type UpcomingInvoice = CompanyUpcomingInvoiceResponseData; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface UpdateAddOnRequestBody */ declare interface UpdateAddOnRequestBody { /** * * @type {string} * @memberof UpdateAddOnRequestBody */ addOnId: string; /** * * @type {string} * @memberof UpdateAddOnRequestBody */ priceId: string; } declare function UpdateAddOnRequestBodyFromJSON(json: any): UpdateAddOnRequestBody; declare function UpdateAddOnRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateAddOnRequestBody; declare function UpdateAddOnRequestBodyToJSON(json: any): UpdateAddOnRequestBody; declare function UpdateAddOnRequestBodyToJSONTyped(value?: UpdateAddOnRequestBody | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface UpdateAutoTopupOverrideRequestBody */ declare interface UpdateAutoTopupOverrideRequestBody { /** * * @type {number} * @memberof UpdateAutoTopupOverrideRequestBody */ autoTopupAmount?: number | null; /** * * @type {boolean} * @memberof UpdateAutoTopupOverrideRequestBody */ autoTopupEnabled?: boolean | null; /** * * @type {number} * @memberof UpdateAutoTopupOverrideRequestBody */ autoTopupThresholdCredits?: number | null; /** * * @type {string} * @memberof UpdateAutoTopupOverrideRequestBody */ planCreditGrantId: string; } declare function UpdateAutoTopupOverrideRequestBodyFromJSON(json: any): UpdateAutoTopupOverrideRequestBody; declare function UpdateAutoTopupOverrideRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateAutoTopupOverrideRequestBody; declare function UpdateAutoTopupOverrideRequestBodyToJSON(json: any): UpdateAutoTopupOverrideRequestBody; declare function UpdateAutoTopupOverrideRequestBodyToJSONTyped(value?: UpdateAutoTopupOverrideRequestBody | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface UpdateCheckoutRequest */ declare interface UpdateCheckoutRequest { /** * * @type {Array} * @memberof UpdateCheckoutRequest */ addOnIds: Array; /** * * @type {Array} * @memberof UpdateCheckoutRequest */ autoTopupOverrides: Array; /** * * @type {string} * @memberof UpdateCheckoutRequest */ billingEntityId?: string | null; /** * * @type {string} * @memberof UpdateCheckoutRequest */ couponExternalId?: string | null; /** * * @type {Array} * @memberof UpdateCheckoutRequest */ creditBundles: Array; /** * ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem. * @type {Currency} * @memberof UpdateCheckoutRequest */ currency?: Currency | null; /** * * @type {Array} * @memberof UpdateCheckoutRequest */ customFieldValues: Array; /** * What the checkout does to the subscription: change it to the cart's contents, or cancel it. Omit it to keep the checkout's current intent. * @type {CheckoutIntent} * @memberof UpdateCheckoutRequest */ intent?: CheckoutIntent | null; /** * * @type {string} * @memberof UpdateCheckoutRequest */ newPlanId: string; /** * * @type {string} * @memberof UpdateCheckoutRequest */ newPriceId: string; /** * * @type {boolean} * @memberof UpdateCheckoutRequest */ optInAccepted?: boolean | null; /** * * @type {Array} * @memberof UpdateCheckoutRequest */ payInAdvance: Array; /** * * @type {string} * @memberof UpdateCheckoutRequest */ paymentMethodId?: string | null; /** * * @type {string} * @memberof UpdateCheckoutRequest */ promoCode?: string | null; /** * * @type {boolean} * @memberof UpdateCheckoutRequest */ skipTrial: boolean; /** * * @type {number} * @memberof UpdateCheckoutRequest */ version: number; } declare function UpdateCheckoutRequestFromJSON(json: any): UpdateCheckoutRequest; declare function UpdateCheckoutRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateCheckoutRequest; declare function UpdateCheckoutRequestToJSON(json: any): UpdateCheckoutRequest; declare function UpdateCheckoutRequestToJSONTyped(value?: UpdateCheckoutRequest | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface UpdateCheckoutResponse */ declare interface UpdateCheckoutResponse { /** * * @type {CheckoutDraftResponseData} * @memberof UpdateCheckoutResponse */ data: CheckoutDraftResponseData; /** * Input parameters * @type {object} * @memberof UpdateCheckoutResponse */ params: object; } declare function UpdateCheckoutResponseFromJSON(json: any): UpdateCheckoutResponse; declare function UpdateCheckoutResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateCheckoutResponse; declare function UpdateCheckoutResponseToJSON(json: any): UpdateCheckoutResponse; declare function UpdateCheckoutResponseToJSONTyped(value?: UpdateCheckoutResponse | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface UpdateCheckoutTaxIDRequestBody */ declare interface UpdateCheckoutTaxIDRequestBody { /** * * @type {TaxIDInput} * @memberof UpdateCheckoutTaxIDRequestBody */ taxId: TaxIDInput; } declare function UpdateCheckoutTaxIDRequestBodyFromJSON(json: any): UpdateCheckoutTaxIDRequestBody; declare function UpdateCheckoutTaxIDRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateCheckoutTaxIDRequestBody; declare function UpdateCheckoutTaxIDRequestBodyToJSON(json: any): UpdateCheckoutTaxIDRequestBody; declare function UpdateCheckoutTaxIDRequestBodyToJSONTyped(value?: UpdateCheckoutTaxIDRequestBody | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface UpdateCheckoutTaxIDResponse */ declare interface UpdateCheckoutTaxIDResponse { /** * * @type {UpdateCheckoutTaxIDResponseData} * @memberof UpdateCheckoutTaxIDResponse */ data: UpdateCheckoutTaxIDResponseData; /** * Input parameters * @type {object} * @memberof UpdateCheckoutTaxIDResponse */ params: object; } /** * * @export * @interface UpdateCheckoutTaxIDResponseData */ declare interface UpdateCheckoutTaxIDResponseData { /** * * @type {Array} * @memberof UpdateCheckoutTaxIDResponseData */ taxIds: Array; } declare function UpdateCheckoutTaxIDResponseDataFromJSON(json: any): UpdateCheckoutTaxIDResponseData; declare function UpdateCheckoutTaxIDResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateCheckoutTaxIDResponseData; declare function UpdateCheckoutTaxIDResponseDataToJSON(json: any): UpdateCheckoutTaxIDResponseData; declare function UpdateCheckoutTaxIDResponseDataToJSONTyped(value?: UpdateCheckoutTaxIDResponseData | null, ignoreDiscriminator?: boolean): any; declare function UpdateCheckoutTaxIDResponseFromJSON(json: any): UpdateCheckoutTaxIDResponse; declare function UpdateCheckoutTaxIDResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateCheckoutTaxIDResponse; declare function UpdateCheckoutTaxIDResponseToJSON(json: any): UpdateCheckoutTaxIDResponse; declare function UpdateCheckoutTaxIDResponseToJSONTyped(value?: UpdateCheckoutTaxIDResponse | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface UpdateCreditBundleRequestBody */ declare interface UpdateCreditBundleRequestBody { /** * * @type {string} * @memberof UpdateCreditBundleRequestBody */ bundleId: string; /** * * @type {number} * @memberof UpdateCreditBundleRequestBody */ quantity: number; } declare function UpdateCreditBundleRequestBodyFromJSON(json: any): UpdateCreditBundleRequestBody; declare function UpdateCreditBundleRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateCreditBundleRequestBody; declare function UpdateCreditBundleRequestBodyToJSON(json: any): UpdateCreditBundleRequestBody; declare function UpdateCreditBundleRequestBodyToJSONTyped(value?: UpdateCreditBundleRequestBody | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface UpdatePayInAdvanceRequestBody */ declare interface UpdatePayInAdvanceRequestBody { /** * * @type {string} * @memberof UpdatePayInAdvanceRequestBody */ priceId: string; /** * * @type {number} * @memberof UpdatePayInAdvanceRequestBody */ quantity: number; } declare function UpdatePayInAdvanceRequestBodyFromJSON(json: any): UpdatePayInAdvanceRequestBody; declare function UpdatePayInAdvanceRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdatePayInAdvanceRequestBody; declare function UpdatePayInAdvanceRequestBodyToJSON(json: any): UpdatePayInAdvanceRequestBody; declare function UpdatePayInAdvanceRequestBodyToJSONTyped(value?: UpdatePayInAdvanceRequestBody | null, ignoreDiscriminator?: boolean): any; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface UpdatePaymentMethodRequestBody */ declare interface UpdatePaymentMethodRequestBody { /** * * @type {string} * @memberof UpdatePaymentMethodRequestBody */ paymentMethodId: string; } declare function UpdatePaymentMethodRequestBodyFromJSON(json: any): UpdatePaymentMethodRequestBody; declare function UpdatePaymentMethodRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdatePaymentMethodRequestBody; declare function UpdatePaymentMethodRequestBodyToJSON(json: any): UpdatePaymentMethodRequestBody; declare function UpdatePaymentMethodRequestBodyToJSONTyped(value?: UpdatePaymentMethodRequestBody | null, ignoreDiscriminator?: boolean): any; /** * * @export * @interface UpdatePaymentMethodResponse */ declare interface UpdatePaymentMethodResponse { /** * * @type {PaymentMethodResponseData} * @memberof UpdatePaymentMethodResponse */ data: PaymentMethodResponseData; /** * Input parameters * @type {object} * @memberof UpdatePaymentMethodResponse */ params: object; } declare function UpdatePaymentMethodResponseFromJSON(json: any): UpdatePaymentMethodResponse; declare function UpdatePaymentMethodResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdatePaymentMethodResponse; declare function UpdatePaymentMethodResponseToJSON(json: any): UpdatePaymentMethodResponse; declare function UpdatePaymentMethodResponseToJSONTyped(value?: UpdatePaymentMethodResponse | null, ignoreDiscriminator?: boolean): any; export declare enum UsagePeriod { ALL_TIME = "all_time", CURRENT_DAY = "current_day", CURRENT_MONTH = "current_month", CURRENT_WEEK = "current_week" } export declare type UserUsage = CompanyUserUsageResponseData; /** * Schematic API * Schematic API * * The version of the OpenAPI document: 0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface WarningTier */ export declare interface WarningTier { /** * A customer-defined identifier for the warning tier * @type {string} * @memberof WarningTier */ key: string; /** * The warning threshold, in the entitlement's usage units * @type {number} * @memberof WarningTier */ value: number; } export { }