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 };