import { ProFormItem, BasicApi } from '../../types';
import { UseFormApi } from '../../hooks/useForm';
import { PropType, DefineComponent, ExtractPropTypes, ShallowRef, Ref, ComputedRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { FormInstance } from 'element-plus';
declare const _default: DefineComponent<ExtractPropTypes<{
    formItems: {
        type: PropType<ProFormItem[]>;
        required: true;
    };
    api: {
        type: PropType<BasicApi<UseFormApi>>;
        required: true;
    };
    defaultData: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
}>, {
    form: ShallowRef< FormInstance | undefined>;
    formData: Record<string, any>;
    modal: Ref<boolean, boolean>;
    title: ComputedRef<(k?: string) => string>;
    requesting: ComputedRef<boolean>;
    executing: ComputedRef<boolean>;
    open: (need?: Array<string>) => void;
    modify: (post?: Record<string, any> | undefined, need?: string[] | undefined, url?: string | undefined, callback?: Function | undefined) => void;
    submit: (close?: boolean, _url?: string) => void;
    closed: (refresh?: boolean) => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    refresh: (...args: any[]) => void;
}, string, PublicProps, Readonly< ExtractPropTypes<{
    formItems: {
        type: PropType<ProFormItem[]>;
        required: true;
    };
    api: {
        type: PropType<BasicApi<UseFormApi>>;
        required: true;
    };
    defaultData: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
}>> & Readonly<{
    onRefresh?: ((...args: any[]) => any) | undefined;
}>, {
    defaultData: Record<string, any>;
}, {}, {}, {}, string, ComponentProvideOptions, true, {
    form: unknown;
}, any>;
export default _default;
