import React, { type ReactNode } from 'react';
import type { SourceGroup } from './buildSourceGroups';
interface FlatListProps {
    groups: SourceGroup[];
    /**
     * Class name applied to the outer Box that holds the groups.
     * Caller decides between standard / compact styling so the renderer
     * doesn't reach into FunkitConfig.
     */
    boxClassName: string;
    /**
     * Label rendered on the `FunDivider` between adjacent groups.
     * Omit to render the divider without a label.
     */
    dividerLabel?: string;
    /**
     * Trailing content rendered after the groups, inside the outer Box.
     * Used by the source-list flat layout to place PayPal at the
     * bottom of the box.
     */
    footer?: ReactNode;
    /** Applied as `data-testid` on the outer Box for snapshot scoping. */
    testId?: string;
}
/**
 * Pure presentational primitive: a single column of group bodies with
 * a divider between adjacent groups and an optional footer. No
 * provider/context dependencies — composition lives in the caller.
 */
export declare function FlatList({ groups, boxClassName, dividerLabel, footer, testId, }: FlatListProps): React.JSX.Element;
export {};
