import { Breakpoint } from '../../hooks/useBreakpoint';
import { ModeType, ResponsiveTableVariant } from './constants';
export interface BreakpointConfig {
    /** Breakpoint at which responsive behaviour will be applied. The table component uses a "desktop first" approach. */
    breakpoint: keyof typeof Breakpoint;
    /** Desired behaviour on this breakpoint and all smaller screens. */
    variant: keyof typeof ResponsiveTableVariant;
    /** If variant is horizontallscroll, use a fallback instead of device is not a touch device. */
    fallbackVariant?: keyof typeof ResponsiveTableVariant;
}
export interface Props extends Omit<React.ComponentPropsWithoutRef<'table'>, 'style'> {
    /** Unique ID */
    id?: string;
    /** Id used for testing */
    testId?: string;
    /** Customize how the table behaves on various screen widths */
    breakpointConfig?: BreakpointConfig | BreakpointConfig[];
    /** Adds custom classes to the element. */
    className?: string;
    /** Sets the content of the table. Use TableHead and TableBody */
    children: React.ReactNode;
    /** For display with less space. Discouraged to use together with interactive elements. */
    mode?: ModeType;
    /** Sets aria-label of the horizontal scroll container. scrollAriaLabel or scrollAriaLabelledById MUST be set if horizontal scrolling is enabled! */
    scrollAriaLabel?: string;
    /** Sets aria-labelledby of the horizontal scroll container. scrollAriaLabel or scrollAriaLabelledById MUST be set if horizontal scrolling is enabled! */
    scrollAriaLabelledById?: string;
}
export declare const Table: React.FC<Props>;
export default Table;
