import * as React from 'react';
import { Nullish } from '@table-library/react-table-library/types/common';
import { Layout, TableMemoryRef, TableElementRef } from '@table-library/react-table-library/types/layout';
declare type Value = {
    tableElementRef: TableElementRef;
    tableMemoryRef: TableMemoryRef;
    layout: Layout | Nullish;
};
declare const LayoutContext: React.Context<Nullish | Value>;
declare type LayoutProviderProps = {
    tableElementRef: TableElementRef;
    tableMemoryRef: TableMemoryRef;
    layout: Layout | Nullish;
    children: React.ReactNode;
};
declare const LayoutProvider: ({ tableElementRef, tableMemoryRef, layout, children, }: LayoutProviderProps) => import("@emotion/react/jsx-runtime").JSX.Element;
declare const preserveResizedLayout: (tableElementRef: TableElementRef, tableMemoryRef: TableMemoryRef) => void;
declare const setResizedLayout: (resizedLayout: string, tableElementRef: TableElementRef, tableMemoryRef: TableMemoryRef) => void;
declare const propagateResizedLayout: (resizedLayout: string, layout: Layout | Nullish) => void;
export { LayoutContext, LayoutProvider, setResizedLayout, preserveResizedLayout, propagateResizedLayout, };
