import type { ColumnOrderState, VisibilityState } from "@tanstack/react-table";
import React from "react";
import type { ColumnOption } from "./utils/types.js";
export interface ColumnConfig {
	columnId: string;
	isVisible: boolean;
}
export type ColumnConfigOptions = Array<Pick<ColumnOption, "id" | "name">>;
export interface ColumnConfigDialogProps {
	isOpen: boolean;
	onClose: () => void;
	columnOptions: ColumnConfigOptions;
	currentVisibility?: VisibilityState;
	currentColumnOrder?: ColumnOrderState;
	onApply: (columns: ColumnConfig[]) => void;
	isValidConfig?: (columns: ColumnConfig[]) => boolean;
}
export declare function ColumnConfigDialog({ isOpen, onClose, columnOptions, currentVisibility, currentColumnOrder, onApply, isValidConfig }: ColumnConfigDialogProps): React.ReactElement | null;
