import React, { HTMLAttributes } from 'react'; import { CommonProps, PickUnion } from '@contentful/f36-core'; /** * Types narrowed to the specific usage types. * "variant" represents usage type and can be either periodic, entitlement or consumption. * - periodic: e.g. "10 GB / month" * - entitlement: e.g. "10 GB / 100 GB included" * - consumption: e.g. "150 consumption units per year". Consumption is used for InfoCard. * "valueDescription" is commonly used for InfoCard. valueDescription cannot be used together with periodType and quota. * "periodType" is used for Periodic usages, e.g. "10 GB / month". Commonly used for UsageCard. * "quota" is used for Entitlement usages, e.g. "100 GB included". Commonly used for UsageCard. * "includedLabel" is used for entitlement usages to add the word "included" after the quota, e.g. "100 GB included". */ type Variant = 'consumption' | 'periodic' | 'entitlement'; type usageCountType = { valueDescription: string; periodType?: never; quota?: never; variant: PickUnion; includedLabel?: string; } | { valueDescription?: never; periodType: 'month' | 'year'; quota?: never; variant: PickUnion; includedLabel?: string; } | { valueDescription?: never; periodType?: never; quota: number | string; variant: PickUnion; includedLabel?: string; }; type UsageCountProps = { value?: number | string; valueUnit?: string; } & CommonProps & usageCountType & HTMLAttributes; declare const UsageCount: React.ForwardRefExoticComponent>; export { UsageCount, type UsageCountProps };