import type { HTMLAttributes, ReactElement, ReactNode, TableHTMLAttributes } from 'react';
import type { TableProps } from './Table';
import type { SpacingProps } from '../../shared/types';
export type TableContainerProps = {
    /**
     * The content of the component.
     */
    children: [
        ReactElement<TableContainerHeadProps>,
        ReactElement<TableContainerBodyProps>,
        ReactElement<TableContainerFootProps>
    ] | ReactElement<TableContainerBodyProps>;
};
export type TableContainerAllProps = TableContainerProps & TableHTMLAttributes<HTMLTableRowElement> & SpacingProps;
declare function TableContainer(props: TableContainerAllProps): import("react/jsx-runtime").JSX.Element;
declare namespace TableContainer {
    var Body: typeof TableContainerBody;
    var Head: typeof TableContainerHead;
    var Foot: typeof TableContainerFoot;
}
export default TableContainer;
export type TableContainerBodyProps = {
    /**
     * The content of the component.
     */
    children: ReactElement<TableProps> | Array<ReactElement<TableProps>>;
};
export declare function TableContainerBody(props: TableContainerBodyProps & HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
export type TableContainerHeadProps = {
    /**
     * The content of the component.
     */
    children?: ReactNode;
};
export declare function TableContainerHead(props: TableContainerHeadProps & HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
export type TableContainerFootProps = {
    /**
     * The content of the component.
     */
    children?: ReactNode;
};
export declare function TableContainerFoot(props: TableContainerFootProps & HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
