import React from 'react';
export declare type TableStackableBreakpoint = 'sm' | 'md' | 'lg';
export interface TableProps {
    /**
     * Applies the borderless variation of the table.
     */
    borderless?: boolean;
    /**
     * The table contents, usually `TableCaption`, `TableHead` and `TableBody`.
     */
    children: React.ReactNode;
    /**
     * Additional classes to be added to the root table element.
     */
    className?: string;
    /**
     * Applies the compact variation of the table.
     */
    compact?: boolean;
    /**
     * @hide-prop [Deprecated] Use compact instead.
     */
    dense?: boolean;
    /**
     * Applies a horizontal scrollbar and scrollable notice on `TableCaption` when the `Table`'s contents exceed the container width.
     */
    scrollable?: boolean;
    /**
     * Additional text or content to display when the horizontal scrollbar is visible to give the user notice of the scroll behavior.
     * This prop will only be used when the `Table` `scrollable` prop is set and the table width is wider than the viewport.
     */
    scrollableNotice?: React.ReactNode;
    /**
     * A stackable variation of the table.
     * When `stackable` is set, `id` or `headers` prop is required in `Table`
     */
    stackable?: boolean;
    /**
     * Applies responsive styles to vertically stacked rows at different viewport sizes.
     */
    stackableBreakpoint?: TableStackableBreakpoint;
    /**
     * A striped variation of the table.
     */
    striped?: boolean;
    /**
     * Disables the warning message on development console when a responsive stackable table cell does not contain an `id` or `headers`.
     * It's recommended that accessibility with screen readers is tested to ensure the stacked table meets the requirement.
     */
    warningDisabled?: boolean;
}
declare type OmitProps = 'children' | 'className';
export declare class Table extends React.Component<Omit<React.ComponentPropsWithoutRef<'table'>, OmitProps> & TableProps, any> {
    static defaultProps: {
        scrollableNotice: JSX.Element;
        stackableBreakpoint: string;
    };
    constructor(props: TableProps);
    componentDidMount(): void;
    componentWillUnmount(): void;
    captionID: string;
    container: any;
    debounceHandleResize: (...args: any[]) => any;
    handleResize(): void;
    renderChildren(): React.ReactNode[];
    render(): JSX.Element;
}
export default Table;
