import type { SchemaBoolean, SchemaClassName } from 'jamis-core';
import type { CSSProperties } from 'react';
import type { FormBaseControl, FormControlProps, SchemaApi, TableSchema } from '../types';
export interface InputTableControlSchema extends FormBaseControl, Omit<TableSchema, 'type'> {
    type: 'input-table';
    /**
     * 可新增
     */
    addable?: boolean;
    addableOn?: SchemaBoolean;
    /**
     * 新增 API
     */
    addApi?: SchemaApi;
    /**
     * 新增按钮文字
     */
    addBtnLabel?: string;
    /**
     * 新增按钮图标
     */
    addBtnIcon?: string | false;
    /**
     * 显示新增按钮
     */
    showAddBtn?: boolean;
    /**
     * 可复制新增
     */
    copyable?: boolean;
    copyableOn?: SchemaBoolean;
    /**
     * 复制按钮文字
     */
    copyBtnLabel?: string;
    /**
     * 复制按钮图标
     */
    copyBtnIcon?: string | false;
    /**
     * 是否显示复制按钮
     */
    copyAddBtn?: boolean;
    /**
     * 可否删除
     */
    removable?: boolean;
    removableOn?: SchemaBoolean;
    /**
     * 删除的 API
     */
    deleteApi?: SchemaApi;
    /**
     * 可否编辑
     */
    editable?: boolean;
    editableOn?: SchemaBoolean;
    /**
     * 更新按钮名称
     */
    editBtnLabel?: string;
    /**
     * 更新按钮图标
     */
    editBtnIcon?: string;
    /**
     * 确认按钮文字
     */
    confirmBtnLabel?: string;
    /**
     * 确认按钮图标
     */
    confirmBtnIcon?: string;
    /**
     * 取消按钮文字
     */
    cancelBtnLabel?: string;
    /**
     * 取消按钮图标
     */
    cancelBtnIcon?: string;
    /**
     * 删除按钮文字
     */
    deleteBtnLabel?: string;
    /**
     * 删除按钮图标
     */
    deleteBtnIcon?: string | false;
    /**
     * 更新 API
     */
    updateApi?: SchemaApi;
    /**
     * 初始值，新增的时候
     */
    scaffold?: Record<string, any>;
    /**
     * 删除确认文字
     */
    deleteConfirmText?: string;
    /**
     * 值字段
     */
    valueField?: string;
    /**
     * 是否为确认的编辑模式。
     */
    needConfirm?: boolean;
    /**
     * 是否可以访问父级数据，正常 combo 已经关联到数组成员，是不能访问父级数据的。
     */
    canAccessSuperData?: boolean;
    /**
     * 是否显示序号
     */
    showIndex?: boolean;
    /**
     * 分页个数，默认不分页
     */
    perPage?: number;
    operationStyle?: CSSProperties;
    operationClassName?: SchemaClassName;
    /**
     * 懒加载的行数, 默认是100
     */
    lazyRenderAfter?: number;
}
export interface InputTableProps extends FormControlProps, Omit<InputTableControlSchema, 'type' | 'className' | 'descriptionClassName' | 'inputClassName' | 'data'> {
}
