import type { BillingCheckoutTotals, BillingCheckoutTotalsJSON, BillingCredits, BillingCreditsJSON, BillingMoneyAmount, BillingMoneyAmountJSON, BillingPaymentTotals, BillingPaymentTotalsJSON, BillingPerUnitTotalTier, BillingPerUnitTotalTierJSON, BillingPlanUnitPriceJSON, BillingStatementTotals, BillingStatementTotalsJSON, BillingSubscriptionItemNextPayment, BillingSubscriptionItemNextPaymentJSON, BillingSubscriptionNextPayment, BillingSubscriptionNextPaymentJSON, BillingTotals, BillingTotalsJSON } from '@clerk/shared/types';
export declare const billingMoneyAmountFromJSON: (data: BillingMoneyAmountJSON) => BillingMoneyAmount;
export declare const billingPerUnitTotalTierFromJSON: (data: BillingPerUnitTotalTierJSON) => BillingPerUnitTotalTier;
export declare const billingUnitPriceFromJSON: (unitPrice: BillingPlanUnitPriceJSON) => {
    name: string;
    blockSize: number;
    tiers: {
        id: string;
        startsAtBlock: number;
        endsAfterBlock: number | null;
        feePerBlock: BillingMoneyAmount;
    }[];
};
export declare const billingPaymentTotalsFromJSON: (data: BillingPaymentTotalsJSON) => BillingPaymentTotals;
export declare const billingCreditsFromJSON: (data: BillingCreditsJSON) => BillingCredits;
export declare const billingTotalsFromJSON: (data: BillingTotalsJSON) => BillingTotals;
export declare const billingSubscriptionNextPaymentFromJSON: (data: BillingSubscriptionNextPaymentJSON) => BillingSubscriptionNextPayment;
export declare const billingSubscriptionItemNextPaymentFromJSON: (data: BillingSubscriptionItemNextPaymentJSON) => BillingSubscriptionItemNextPayment;
export declare const billingStatementTotalsFromJSON: <T extends BillingStatementTotalsJSON | BillingCheckoutTotalsJSON>(data: T) => T extends {
    total_due_now: BillingMoneyAmountJSON;
} ? BillingCheckoutTotals : BillingStatementTotals;
