import { ReactNode } from 'react';
export type BroadbandFactsLanguage = 'en' | 'es';
/** A key-value record representing a line item (e.g. "1 line" -> 105). */
export type BroadbandFactsLineItem = Record<string, string | number | undefined>;
export interface BroadbandFactsProps {
    /** Unique id for the accordion panel. Defaults to `'broadband-facts'`. */
    id?: string;
    /** Main heading text (e.g. "Broadband Facts"). */
    heading: string;
    /** Subheading text (e.g. "Mobile Broadband Consumer Disclosure"). */
    subheading: string;
    /** Eyebrow text above the accordion heading (e.g. "T-Mobile plan"). */
    accordionEyebrow: string;
    /** Accordion heading text (e.g. "Go5G Next"). */
    accordionHeading: string;
    /** Whether the details panel is initially expanded. Defaults to `false`. */
    expanded?: boolean;
    /** Force-focus visual state on the accordion button. */
    focused?: boolean;
    /** Callback fired when the accordion button is clicked. */
    onToggle?: () => void;
    /** Section heading for monthly price (e.g. "Monthly Price"). */
    monthlyPriceHeading: string;
    /** Monthly price value (displayed when `priceDetails` is not provided). */
    monthlyPrice?: number;
    /** Array of price detail line items (e.g. [{"1 line": 105}, ...]). When provided, renders a list instead of the single price. */
    priceDetails?: BroadbandFactsLineItem[];
    /** Summary text shown when `priceDetails` is not provided (e.g. "3 lines"). */
    linesSummary?: string;
    /** Heading for the "more lines" sub-section. */
    moreLinesHeading?: string;
    /** Array of additional line pricing items. */
    moreLines?: BroadbandFactsLineItem[];
    /** First informational paragraph (e.g. "This monthly price is not an introductory rate..."). */
    introParagraph1?: ReactNode;
    /** Second informational paragraph (e.g. "Does not include AutoPay..."). */
    introParagraph2?: ReactNode;
    /** Heading for additional charges section. */
    additionalChargesAndTermsHeading: string;
    /** Subheading for monthly fees (e.g. "Provider Monthly Fees"). */
    monthlyFeesSubheading: string;
    /** Monthly fees value (displayed when `monthlyFeesItems` is not provided). */
    monthlyFeesValue?: number;
    /** Itemized monthly fee line items. When provided, renders a list. */
    monthlyFeesItems?: BroadbandFactsLineItem[];
    /** Subheading for one-time fees (e.g. "One-time Fees"). */
    oneTimeFeesSubheading: string;
    /** One-time fees value (displayed when `oneTimeFeesItems` is not provided). */
    oneTimeFeesValue?: number;
    /** Itemized one-time fee line items. When provided, renders a list. */
    oneTimeFeesItems?: BroadbandFactsLineItem[];
    /** Label for early termination charges. */
    earlyTerminationChargesLabel: string;
    /** Dollar value for early termination charges. */
    earlyTerminationChargesValue?: number;
    /** Label for tax line. */
    taxLabel: string;
    /** Tax value text (e.g. "Included in monthly price"). */
    taxValue: string;
    /** Heading for discounts section. */
    discountsHeading: string;
    /** Paragraph content for discounts (supports ReactNode for inline links). */
    discountsParagraph: ReactNode;
    /** Heading for ACP section. */
    acpHeading: string;
    /** Paragraph content for ACP (supports ReactNode for inline links). */
    acpParagraph: ReactNode;
    /** Label for ACP participation line (e.g. "Participates in the ACP"). */
    acpLineLabel: string;
    /** Value for ACP participation line (e.g. "No"). */
    acpLineValue?: string;
    /** Heading for speeds section. */
    speedsHeading: string;
    /** Label for download speed. */
    downloadSpeedLabel: string;
    /** Download speed value (e.g. "80-382 Mbps"). */
    downloadSpeedValue: string;
    /** Label for upload speed. */
    uploadSpeedLabel: string;
    /** Upload speed value (e.g. "7-32 Mbps"). */
    uploadSpeedValue: string;
    /** Label for latency. */
    latencyLabel: string;
    /** Latency value (e.g. "19-37 ms"). */
    latencyValue: string;
    /** Label for data included. */
    dataIncludedLabel: string;
    /** Data included value (e.g. "Unlimited"). */
    dataIncludedValue?: string;
    /** Data usage charge line items. */
    dataUsageChargeItems?: BroadbandFactsLineItem[];
    /** Network management policy link text. */
    networkPolicyLinkText: string;
    /** Network management policy link href. */
    networkPolicyLinkHref: string;
    /** Privacy policy link text. */
    privacyPolicyLinkText: string;
    /** Privacy policy link href. */
    privacyPolicyLinkHref: string;
    /** Customer support heading. */
    customerSupportHeading: string;
    /** Contact link text. */
    contactLinkText: string;
    /** Contact link href. */
    contactLinkHref: string;
    /** First support paragraph (e.g. "From your T-Mobile phone: 611"). */
    supportParagraph1?: ReactNode;
    /** Second support paragraph (supports ReactNode for phone link). */
    supportParagraph2?: ReactNode;
    /** Footer paragraph (supports ReactNode for inline links). */
    footerParagraph?: ReactNode;
    /** Unique plan identifier label text. */
    uniquePlanIdentifierLabel?: string;
    /** Unique plan identifier value. */
    uniquePlanIdentifier?: string;
    /** Enable inverse (dark background) styling. */
    inverse?: boolean;
    /** Additional CSS class names for the root element. */
    className?: string;
}
//# sourceMappingURL=BroadbandFacts.types.d.ts.map