import type { ReactElement } from "react";
import React from "react";
import type { DataListActionProps, DataListHeader, DataListItemType, DataListItemTypeFromHeader, DataListObject } from "./DataList.types";
import type { Breakpoints } from "./DataList.const";
/**
 * Return the child component that matches the `type` provided
 */
export declare function getCompoundComponent<T>(children: ReactElement | ReactElement[], type: ReactElement<T>["type"]): ReactElement<T> | undefined;
/**
 * Return all instances child component that matches the `type` provided
 */
export declare function getCompoundComponents<T>(children: ReactElement | ReactElement[], type: ReactElement<T>["type"]): ReactElement<T>[];
/**
 * Generate the default element the DataList would use on the data provided.
 */
export declare function generateListItemElement<T extends DataListObject>(item: T): DataListItemType<T[]>;
/**
 * Generate the header elements with the default styling
 */
export declare function generateHeaderElements<T extends DataListObject>(headers: DataListHeader<T>): DataListItemTypeFromHeader<T, DataListHeader<T>> | undefined;
export declare function sortBreakpoints(sizeProp: Breakpoints[]): ("xs" | "sm" | "md" | "lg" | "xl")[];
export declare function getExposedActions<T extends DataListObject>(childrenArray: ReactElement<DataListActionProps<T>>[], childCount?: number): ReactElement<DataListActionProps<T>, string | React.JSXElementConstructor<any>>[];
