import type { ComputedRef, Ref, Slots, UnwrapRef } from 'vue';
import type { ResizableColumnProps } from './resizable-column';
import type { ResizableColumnsProps } from './resizable-columns';
import { InjectionKey } from 'vue';
export declare type ResizableColumnContext = UnwrapRef<{
    uid: number;
    slots: Slots;
    props: ResizableColumnProps;
    maxWidth: Ref<number>;
    index: Ref<number | undefined>;
    width: Ref<number | undefined>;
    left: Ref<number | undefined>;
    collapsed: ComputedRef<boolean>;
    collapsable: ComputedRef<boolean>;
}>;
export interface ResizableColumnsRootContext {
    props: ResizableColumnsProps;
    columns: any;
    registerColumn: (pane: ResizableColumnContext) => void;
    unregisterColumn: (uid: number) => void;
    handleCollapse: (column: ResizableColumnContext) => void;
    handleExpand: (column: ResizableColumnContext) => void;
    initColumnSize: () => void;
}
export declare const resizableColumnsRootContextKey: InjectionKey<ResizableColumnsRootContext>;
