import { default as React, ReactNode } from 'react';
interface ColumnVisibility {
    [key: string]: boolean;
}
interface ColumnVisibilityContextValue {
    columnVisibility: ColumnVisibility;
    columns: string[];
    setColumns: (columns: string[]) => void;
    toggleColumn: (field: string) => void;
    setAllColumns: (value: boolean, columns: string[]) => void;
    saveVisibility: (newState: ColumnVisibility) => void;
    resetVisibility: (columns: string[]) => void;
}
interface ColumnVisibilityProviderProps {
    children: ReactNode;
}
export declare function ColumnVisibilityProvider({ children, }: ColumnVisibilityProviderProps): React.JSX.Element;
export declare function useColumnVisibility(): ColumnVisibilityContextValue;
export {};
//# sourceMappingURL=ColumnVisibilityContext.d.ts.map