import React from 'react';
import type { CnButtonProps } from "../../cn-button";
interface IOperateButton extends Pick<CnButtonProps, 'type'> {
    children: React.ReactNode;
    onClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>, row: Record<string, unknown>, index: number) => void;
    /**
     * 优先级低于 visible
     */
    hidden?: (row: Record<string, unknown>, index: number) => boolean;
    visible?: (row: Record<string, unknown>, index: number) => boolean;
    /**
     * 含义等同 disabled
     */
    isDisabled?: (row: Record<string, unknown>, index: number) => boolean;
    /**
     * 是否禁用
     */
    disabled?: ((row: Record<string, unknown>, index: number) => boolean) | boolean;
}
type IOperateButtonRender = (row: Record<string, unknown>, index: number) => IOperateButton;
export interface IOperateColumns {
    buttons?: Array<IOperateButton | IOperateButtonRender>;
}
export {};
