import type { RendererProps } from 'jamis-core';
import type { SchemaCollection, SchemaObject } from '../types';
export interface SchemaQuickEditObject {
    /**
     * 是否立即保存
     */
    saveImmediately?: boolean;
    /**
     * 接口保存失败后，是否重置组件编辑状态
     */
    resetOnFailed?: boolean;
    /**
     * 配置刷新目标，默认就会刷新所属 crud 组件，
     * 如果不需要，请配置为 "none"
     */
    reload?: string;
    /**
     * 是否直接内嵌
     */
    mode?: 'inline';
}
export type SchemaQuickEdit = boolean | (SchemaQuickEditObject & Partial<SchemaObject>) | (SchemaQuickEditObject & {
    body: SchemaCollection;
});
export interface QuickEditConfig {
    saveImmediately?: boolean;
    resetOnFailed?: boolean;
    reload?: string;
    mode?: 'inline' | 'dialog' | 'popOver' | 'append';
    type?: string;
    body?: any;
    focusable?: boolean;
    popOverClassName?: string;
    [propName: string]: any;
}
export interface QuickEditProps extends RendererProps {
    name?: string;
    label?: string;
    quickEdit: boolean | QuickEditConfig;
    quickEditEnabled?: boolean;
    /**
     * 快速编辑器中form ref对象设置函数
     */
    quickEditFormRef?: (ref: any, colIndex: number, rowIndex: number) => void;
    /**
     * 快速编辑器中form item的ref对象设置函数
     */
    quickEditFormItemRef?: (ref: any, colIndex: number, rowIndex: number) => void;
}
