import { Text } from '@ultraviolet/ui';
import type { ReactNode } from 'react';
import type { EstimateCostProps } from './types';
declare const EstimateCost: {
    ({ description, alert, alertTitle, alertVariant, defaultTimeUnit, timeUnits, hideOverlay, disableOverlayLeft, disableOverlayRight, hideTimeUnit, hideTotal, discount, OverlayRight, OverlayLeft, overlayMargin, isBeta, commitmentFees, commitmentFeesContent, monthlyFees, monthlyFeesLabel, monthlyFeesContent, overlayUnit, children, locales, numberLocales, currency, onTotalPriceChange, }: EstimateCostProps): import("@emotion/react/jsx-runtime").JSX.Element;
    LineThrough: import("@emotion/styled").StyledComponent<{
        theme?: import("@emotion/react").Theme;
        as?: React.ElementType;
    } & {
        isActive?: boolean;
    }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
    Item: import("react").MemoExoticComponent<({ discount, priceText, discountText, label, tooltipInfo, subLabel, price: basePrice, monthlyPrice, unit: baseUnit, amount: currentAmount, onAmountChange, amountFree, maxAmount, longFractionDigits, noIteration, noIterationText, noBorder, noPrice, isDefined, children, isFirstElement, isLastElement, isPrimaryBackground, productsCallback, iteration: receivedIteration, shouldBeHidden, hideFromOverlay, textNotDefined, animated, tabulation, labelTextVariant, labelTextProminence, notice, strikeThrough, }: {
        amount?: number;
        amountFree?: number;
        animated?: boolean;
        children?: ReactNode;
        discount?: number;
        discountText?: string;
        hideFromOverlay?: boolean;
        isDefined?: boolean;
        isFirstElement?: boolean;
        isLastElement?: boolean;
        isPrimaryBackground?: boolean;
        iteration?: import("./types").Iteration;
        label?: ReactNode;
        labelTextVariant?: import("react").ComponentProps<typeof Text>["variant"];
        labelTextProminence?: import("react").ComponentProps<typeof Text>["prominence"];
        longFractionDigits?: boolean;
        maxAmount?: number;
        monthlyPrice?: number;
        noBorder?: boolean;
        noIteration?: boolean;
        noIterationText?: string;
        noPrice?: boolean;
        notice?: string;
        onAmountChange?: (amount: number) => void;
        price?: number;
        priceText?: ReactNode;
        productsCallback?: {
            add: (product: import("./types").EstimateProduct) => void;
            remove: (product: import("./types").BareEstimateProduct) => void;
        };
        shouldBeHidden?: boolean;
        subLabel?: string;
        tabulation?: number;
        textNotDefined?: string;
        tooltipInfo?: string;
        unit?: "mb" | "gb" | "tb" | "seconds" | "minutes" | "hours" | "days" | "months" | "years" | (string & NonNullable<unknown>);
        strikeThrough?: boolean;
    }) => import("@emotion/react/jsx-runtime").JSX.Element>;
    NumberInput: ({ amount, minValue, maxValue, getAmountValue, itemCallback, controls, }: {
        amount?: number;
        itemCallback?: (amount?: number | null, isVariant?: boolean) => void;
        getAmountValue?: (amount?: number | null) => void;
        minValue?: number;
        maxValue?: number;
        controls?: boolean;
    }) => import("@emotion/react/jsx-runtime").JSX.Element;
    Unit: ({ amount, itemCallback, getAmountValue, unit, }: {
        amount?: number;
        itemCallback?: (amount?: number, isVariant?: boolean) => void;
        getAmountValue?: (amount?: number) => void;
        unit?: string;
    }) => import("@emotion/react/jsx-runtime").JSX.Element;
    Strong: import("react").MemoExoticComponent<({ variant, children, isDisabledOnOverlay, }: {
        variant?: "normal" | "small" | "big" | "capitalized";
        children?: ReactNode;
        isDisabledOnOverlay?: boolean;
    }) => import("@emotion/react/jsx-runtime").JSX.Element>;
    Regular: import("react").MemoExoticComponent<({ variant, isDisabledOnOverlay, children, className, }: {
        variant?: "normal" | "small" | "big" | "capitalized";
        isDisabledOnOverlay?: boolean;
        children?: ReactNode;
        className?: string;
    }) => import("@emotion/react/jsx-runtime").JSX.Element | null>;
    Image: import("@emotion/styled").StyledComponent<{
        theme?: import("@emotion/react").Theme;
        as?: React.ElementType;
    }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
    Region: import("react").MemoExoticComponent<({ label, image, shouldBeHidden, priceText, animated, isFirstElement, isLastElement, productsCallback, iteration, discount, noBorder, noPrice, hideFromOverlay, }: {
        shouldBeHidden?: boolean;
        priceText?: ReactNode;
        animated?: boolean;
        isFirstElement?: boolean;
        isLastElement?: boolean;
        productsCallback?: {
            add: (product: import("./types").EstimateProduct) => void;
            remove: (product: import("./types").BareEstimateProduct) => void;
        };
        iteration?: import("./types").Iteration;
        discount?: number;
        label: string;
        image: string;
        noBorder?: boolean;
        noPrice?: boolean;
    } & Pick<{
        amount?: number;
        amountFree?: number;
        animated?: boolean;
        children?: ReactNode;
        discount?: number;
        discountText?: string;
        hideFromOverlay?: boolean;
        isDefined?: boolean;
        isFirstElement?: boolean;
        isLastElement?: boolean;
        isPrimaryBackground?: boolean;
        iteration?: import("./types").Iteration;
        label?: ReactNode;
        labelTextVariant?: import("react").ComponentProps<typeof Text>["variant"];
        labelTextProminence?: import("react").ComponentProps<typeof Text>["prominence"];
        longFractionDigits?: boolean;
        maxAmount?: number;
        monthlyPrice?: number;
        noBorder?: boolean;
        noIteration?: boolean;
        noIterationText?: string;
        noPrice?: boolean;
        notice?: string;
        onAmountChange?: (amount: number) => void;
        price?: number;
        priceText?: ReactNode;
        productsCallback?: {
            add: (product: import("./types").EstimateProduct) => void;
            remove: (product: import("./types").BareEstimateProduct) => void;
        };
        shouldBeHidden?: boolean;
        subLabel?: string;
        tabulation?: number;
        textNotDefined?: string;
        tooltipInfo?: string;
        unit?: "mb" | "gb" | "tb" | "seconds" | "minutes" | "hours" | "days" | "months" | "years" | (string & NonNullable<unknown>);
        strikeThrough?: boolean;
    }, "hideFromOverlay">) => import("@emotion/react/jsx-runtime").JSX.Element>;
    Zone: import("react").MemoExoticComponent<({ label, image, shouldBeHidden, priceText, animated, isFirstElement, isLastElement, productsCallback, iteration, discount, noBorder, noPrice, }: {
        shouldBeHidden?: boolean;
        priceText?: string;
        animated?: boolean;
        isFirstElement?: boolean;
        isLastElement?: boolean;
        productsCallback?: {
            add: (product: import("./types").EstimateProduct) => void;
            remove: (product: import("./types").BareEstimateProduct) => void;
        };
        iteration?: import("./types").Iteration;
        discount?: number;
        label: string;
        image: string;
        noBorder?: boolean;
        noPrice?: boolean;
    }) => import("@emotion/react/jsx-runtime").JSX.Element>;
    Ellipsis: ({ children, maxWidth, "data-testid": dataTestId, }: {
        children: ReactNode;
        maxWidth?: number;
        "data-testid"?: string;
    }) => import("@emotion/react/jsx-runtime").JSX.Element;
};
export { EstimateCost };
