import { default as React } from 'react';
import { ModeType } from './constants';
import { BreakpointConfig } from './Table';
import { Breakpoint } from '../../hooks/useBreakpoint';
/**
 * Finn konfigurasjon for nåværende breakpoint og tabellbredde
 * @param config Konfigurasjon for responsiv oppførsel
 * @param breakpoint Nåværende breakpoint
 * @param tableWidth Bredde på tabell i px
 * @returns Konfigurasjon for responsiv oppførsel uten fallbackVariant
 */
export declare const getCurrentConfig: (config: BreakpointConfig | BreakpointConfig[], breakpoint: Breakpoint, tableWidth: number, windowWidth: number) => Omit<BreakpointConfig, "fallbackVariant"> | undefined;
/**
 * Finn klassenavn for responsiv oppførsel
 * @param config Konfigurasjon for responsiv oppførsel
 * @returns Klassenavn
 */
export declare const getBreakpointClass: (config?: BreakpointConfig) => string | undefined;
/**
 * Finn riktig posisjon for horisontal sentrering av tabell som skal vises "centeredoverflow"
 * @param parentWidth Bredde på element som tabellen ligger i
 * @param tableWidth Bredde på tabellen
 * @returns Styling som posisjonerer tabellen riktig
 */
export declare const getCenteredOverflowTableStyle: (parentWidth: number, tableWidth: number) => React.CSSProperties | undefined;
/**
 * Map children and inject the `mode` prop into element children, but never on React.Fragment.
 * If a Fragment is encountered, its children are mapped and updated, while the Fragment wrapper is preserved.
 */
export declare const mapChildrenWithMode: (children: React.ReactNode, mode: ModeType | undefined) => React.ReactNode;
/**
 * Create a shallow copy of an object with specific keys omitted.
 */
export declare const omitProps: <T extends Record<PropertyKey, unknown>>(obj: T, keys: Array<keyof T>) => Partial<T>;
