import React from 'react';
import { DataSourceType } from "../provider/dataSource/DataSourceContext";
export declare type ModeType = 'edit' | 'add' | 'view' | 'disabled' | 'hidden' | 'tableView';
export interface DataSourceFormProps {
    title: string;
    description: string;
    dataSource: DataSourceType;
    extraParams?: Record<string, any>;
    showTitle: boolean;
    showDescription: boolean;
    groupInfoPosition: 'top' | 'side';
    variables: any[];
    renderMode?: ModeType;
    currentValue?: 'server' | 'local';
    children: React.ReactNode;
    className?: string;
    size?: 'small' | 'middle' | 'large';
    onDataSourceFinish?: (values: any, result: any) => void;
    __designMode?: string;
    formatSubmitValues?: (values: Record<string, any>) => Record<string, any>;
    formatInitialValues?: (values: Record<string, any>) => Record<string, any>;
    customSubmit?: (values: Record<string, any>) => Promise<any>;
    beforeSubmit?: (values: Record<string, any>) => Promise<boolean> | boolean;
    leaveConfirmConfig?: {
        enable: boolean;
        title: string;
        content: string;
        icon: React.ReactNode;
        okText: string;
        cancelText: string;
    };
}
