declare const JnForm: ({
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            formData: Record<string, any>;
            formOpts: Record<string, any>;
            disabled: boolean;
            isSearch: boolean;
            rowsTotal: number;
            isDetail: boolean;
            oldData: Record<string, any>;
            isComparison: boolean;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            modelValue: {
                type: ObjectConstructor;
            };
            formData: {
                type: ObjectConstructor;
                default: null;
            };
            formOpts: {
                type: ObjectConstructor;
                default: () => {};
            };
            httpRequest: {
                type: FunctionConstructor;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            isSearch: {
                type: BooleanConstructor;
                default: boolean;
            };
            rowsTotal: {
                type: NumberConstructor;
                default: number;
            };
            isDetail: {
                type: BooleanConstructor;
                default: boolean;
            };
            oldData: {
                type: ObjectConstructor;
                default: () => {};
            };
            isComparison: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & {
            "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
            "onOn-preview"?: ((...args: any[]) => any) | undefined;
            "onOn-remove"?: ((...args: any[]) => any) | undefined;
            "onOn-success"?: ((...args: any[]) => any) | undefined;
            "onOn-error"?: ((...args: any[]) => any) | undefined;
            "onOn-progress"?: ((...args: any[]) => any) | undefined;
            "onOn-change"?: ((...args: any[]) => any) | undefined;
            "onBefore-upload"?: ((...args: any[]) => any) | undefined;
            "onBefore-remove"?: ((...args: any[]) => any) | undefined;
            "onOn-exceed"?: ((...args: any[]) => any) | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "formData" | "formOpts" | "disabled" | "isSearch" | "rowsTotal" | "isDetail" | "oldData" | "isComparison">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot | undefined;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
        $emit: (event: "update:modelValue" | "on-preview" | "on-remove" | "on-success" | "on-error" | "on-progress" | "on-change" | "before-upload" | "before-remove" | "on-exceed", ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            modelValue: {
                type: ObjectConstructor;
            };
            formData: {
                type: ObjectConstructor;
                default: null;
            };
            formOpts: {
                type: ObjectConstructor;
                default: () => {};
            };
            httpRequest: {
                type: FunctionConstructor;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            isSearch: {
                type: BooleanConstructor;
                default: boolean;
            };
            rowsTotal: {
                type: NumberConstructor;
                default: number;
            };
            isDetail: {
                type: BooleanConstructor;
                default: boolean;
            };
            oldData: {
                type: ObjectConstructor;
                default: () => {};
            };
            isComparison: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & {
            "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
            "onOn-preview"?: ((...args: any[]) => any) | undefined;
            "onOn-remove"?: ((...args: any[]) => any) | undefined;
            "onOn-success"?: ((...args: any[]) => any) | undefined;
            "onOn-error"?: ((...args: any[]) => any) | undefined;
            "onOn-progress"?: ((...args: any[]) => any) | undefined;
            "onOn-change"?: ((...args: any[]) => any) | undefined;
            "onBefore-upload"?: ((...args: any[]) => any) | undefined;
            "onBefore-remove"?: ((...args: any[]) => any) | undefined;
            "onOn-exceed"?: ((...args: any[]) => any) | undefined;
        }, {
            props: any;
            buttonRef: import("vue").Ref<any>;
            tooltipRef: import("vue").Ref<any>;
            oldVal: import("vue").Ref<string>;
            isShowRed: (key: any) => boolean;
            mouseoverOld: (e: any, key: any, type: any) => false | undefined;
            emits: (event: "update:modelValue" | "on-preview" | "on-remove" | "on-success" | "on-error" | "on-progress" | "on-change" | "before-upload" | "before-remove" | "on-exceed", ...args: any[]) => void;
            sum: import("vue").Ref<number>;
            isShowExpand: import("vue").Ref<boolean>;
            showCol: (col: any) => boolean;
            screenWidth: import("vue").Ref<number>;
            handleScreenWidthChange: () => void;
            getCol: () => 6 | 8 | 12 | 24;
            calculateShowCol: (expand: boolean) => void;
            handleShow: (startFrom: any) => void;
            rules: any;
            schema: any;
            form: import("vue").Ref<any>;
            editorVal: import("vue").Ref<string>;
            isMethodCalled: import("vue").Ref<boolean>;
            initForm: ({ formData: data, type }: {
                formData?: {} | undefined;
                type: any;
            }) => Promise<false | undefined>;
            compChildName: import("vue").ComputedRef<(opt: any) => "option" | "checkbox" | "radio" | null>;
            compChildValue: import("vue").ComputedRef<(opt: any, child: any, key: any) => any>;
            compChildLabel: import("vue").ComputedRef<(opt: any, child: any) => any>;
            cAttrs: import("vue").ComputedRef<(item: any) => any>;
            cEvent: import("vue").ComputedRef<(opt: any) => {}>;
            resetFields: () => void;
            validate: () => any;
            getFormData: () => Record<string, any> | undefined;
            onPreview: (file: File) => void;
            onRemove: (file: File, fileList: FileList) => void;
            onSuccess: (response: any, file: File, fileList: FileList) => void;
            onError: (err: any, file: File, fileList: FileList) => void;
            onProgress: (event: any, file: File, fileList: FileList) => void;
            onChange: (file: File, fileList: FileList) => void;
            beforeUpload: (file: File) => void;
            beforeRemove: (file: File, fileList: FileList) => void;
            onExceed: (files: File, fileList: FileList) => void;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "on-preview" | "on-remove" | "on-success" | "on-error" | "on-progress" | "on-change" | "before-upload" | "before-remove" | "on-exceed")[], string, {
            formData: Record<string, any>;
            formOpts: Record<string, any>;
            disabled: boolean;
            isSearch: boolean;
            rowsTotal: number;
            isDetail: boolean;
            oldData: Record<string, any>;
            isComparison: boolean;
        }, {}, string> & {
            beforeCreate?: ((() => void) | (() => void)[]) | undefined;
            created?: ((() => void) | (() => void)[]) | undefined;
            beforeMount?: ((() => void) | (() => void)[]) | undefined;
            mounted?: ((() => void) | (() => void)[]) | undefined;
            beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
            updated?: ((() => void) | (() => void)[]) | undefined;
            activated?: ((() => void) | (() => void)[]) | undefined;
            deactivated?: ((() => void) | (() => void)[]) | undefined;
            beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
            beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
            destroyed?: ((() => void) | (() => void)[]) | undefined;
            unmounted?: ((() => void) | (() => void)[]) | undefined;
            renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: ObjectConstructor;
        };
        formData: {
            type: ObjectConstructor;
            default: null;
        };
        formOpts: {
            type: ObjectConstructor;
            default: () => {};
        };
        httpRequest: {
            type: FunctionConstructor;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        isSearch: {
            type: BooleanConstructor;
            default: boolean;
        };
        rowsTotal: {
            type: NumberConstructor;
            default: number;
        };
        isDetail: {
            type: BooleanConstructor;
            default: boolean;
        };
        oldData: {
            type: ObjectConstructor;
            default: () => {};
        };
        isComparison: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & {
        "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
        "onOn-preview"?: ((...args: any[]) => any) | undefined;
        "onOn-remove"?: ((...args: any[]) => any) | undefined;
        "onOn-success"?: ((...args: any[]) => any) | undefined;
        "onOn-error"?: ((...args: any[]) => any) | undefined;
        "onOn-progress"?: ((...args: any[]) => any) | undefined;
        "onOn-change"?: ((...args: any[]) => any) | undefined;
        "onBefore-upload"?: ((...args: any[]) => any) | undefined;
        "onBefore-remove"?: ((...args: any[]) => any) | undefined;
        "onOn-exceed"?: ((...args: any[]) => any) | undefined;
    } & import("vue").ShallowUnwrapRef<{
        props: any;
        buttonRef: import("vue").Ref<any>;
        tooltipRef: import("vue").Ref<any>;
        oldVal: import("vue").Ref<string>;
        isShowRed: (key: any) => boolean;
        mouseoverOld: (e: any, key: any, type: any) => false | undefined;
        emits: (event: "update:modelValue" | "on-preview" | "on-remove" | "on-success" | "on-error" | "on-progress" | "on-change" | "before-upload" | "before-remove" | "on-exceed", ...args: any[]) => void;
        sum: import("vue").Ref<number>;
        isShowExpand: import("vue").Ref<boolean>;
        showCol: (col: any) => boolean;
        screenWidth: import("vue").Ref<number>;
        handleScreenWidthChange: () => void;
        getCol: () => 6 | 8 | 12 | 24;
        calculateShowCol: (expand: boolean) => void;
        handleShow: (startFrom: any) => void;
        rules: any;
        schema: any;
        form: import("vue").Ref<any>;
        editorVal: import("vue").Ref<string>;
        isMethodCalled: import("vue").Ref<boolean>;
        initForm: ({ formData: data, type }: {
            formData?: {} | undefined;
            type: any;
        }) => Promise<false | undefined>;
        compChildName: import("vue").ComputedRef<(opt: any) => "option" | "checkbox" | "radio" | null>;
        compChildValue: import("vue").ComputedRef<(opt: any, child: any, key: any) => any>;
        compChildLabel: import("vue").ComputedRef<(opt: any, child: any) => any>;
        cAttrs: import("vue").ComputedRef<(item: any) => any>;
        cEvent: import("vue").ComputedRef<(opt: any) => {}>;
        resetFields: () => void;
        validate: () => any;
        getFormData: () => Record<string, any> | undefined;
        onPreview: (file: File) => void;
        onRemove: (file: File, fileList: FileList) => void;
        onSuccess: (response: any, file: File, fileList: FileList) => void;
        onError: (err: any, file: File, fileList: FileList) => void;
        onProgress: (event: any, file: File, fileList: FileList) => void;
        onChange: (file: File, fileList: FileList) => void;
        beforeUpload: (file: File) => void;
        beforeRemove: (file: File, fileList: FileList) => void;
        onExceed: (files: File, fileList: FileList) => void;
    }> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: ObjectConstructor;
    };
    formData: {
        type: ObjectConstructor;
        default: null;
    };
    formOpts: {
        type: ObjectConstructor;
        default: () => {};
    };
    httpRequest: {
        type: FunctionConstructor;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    isSearch: {
        type: BooleanConstructor;
        default: boolean;
    };
    rowsTotal: {
        type: NumberConstructor;
        default: number;
    };
    isDetail: {
        type: BooleanConstructor;
        default: boolean;
    };
    oldData: {
        type: ObjectConstructor;
        default: () => {};
    };
    isComparison: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    "onOn-preview"?: ((...args: any[]) => any) | undefined;
    "onOn-remove"?: ((...args: any[]) => any) | undefined;
    "onOn-success"?: ((...args: any[]) => any) | undefined;
    "onOn-error"?: ((...args: any[]) => any) | undefined;
    "onOn-progress"?: ((...args: any[]) => any) | undefined;
    "onOn-change"?: ((...args: any[]) => any) | undefined;
    "onBefore-upload"?: ((...args: any[]) => any) | undefined;
    "onBefore-remove"?: ((...args: any[]) => any) | undefined;
    "onOn-exceed"?: ((...args: any[]) => any) | undefined;
}, {
    props: any;
    buttonRef: import("vue").Ref<any>;
    tooltipRef: import("vue").Ref<any>;
    oldVal: import("vue").Ref<string>;
    isShowRed: (key: any) => boolean;
    mouseoverOld: (e: any, key: any, type: any) => false | undefined;
    emits: (event: "update:modelValue" | "on-preview" | "on-remove" | "on-success" | "on-error" | "on-progress" | "on-change" | "before-upload" | "before-remove" | "on-exceed", ...args: any[]) => void;
    sum: import("vue").Ref<number>;
    isShowExpand: import("vue").Ref<boolean>;
    showCol: (col: any) => boolean;
    screenWidth: import("vue").Ref<number>;
    handleScreenWidthChange: () => void;
    getCol: () => 6 | 8 | 12 | 24;
    calculateShowCol: (expand: boolean) => void;
    handleShow: (startFrom: any) => void;
    rules: any;
    schema: any;
    form: import("vue").Ref<any>;
    editorVal: import("vue").Ref<string>;
    isMethodCalled: import("vue").Ref<boolean>;
    initForm: ({ formData: data, type }: {
        formData?: {} | undefined;
        type: any;
    }) => Promise<false | undefined>;
    compChildName: import("vue").ComputedRef<(opt: any) => "option" | "checkbox" | "radio" | null>;
    compChildValue: import("vue").ComputedRef<(opt: any, child: any, key: any) => any>;
    compChildLabel: import("vue").ComputedRef<(opt: any, child: any) => any>;
    cAttrs: import("vue").ComputedRef<(item: any) => any>;
    cEvent: import("vue").ComputedRef<(opt: any) => {}>;
    resetFields: () => void;
    validate: () => any;
    getFormData: () => Record<string, any> | undefined;
    onPreview: (file: File) => void;
    onRemove: (file: File, fileList: FileList) => void;
    onSuccess: (response: any, file: File, fileList: FileList) => void;
    onError: (err: any, file: File, fileList: FileList) => void;
    onProgress: (event: any, file: File, fileList: FileList) => void;
    onChange: (file: File, fileList: FileList) => void;
    beforeUpload: (file: File) => void;
    beforeRemove: (file: File, fileList: FileList) => void;
    onExceed: (files: File, fileList: FileList) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "on-preview" | "on-remove" | "on-success" | "on-error" | "on-progress" | "on-change" | "before-upload" | "before-remove" | "on-exceed")[], "update:modelValue" | "on-preview" | "on-remove" | "on-success" | "on-error" | "on-progress" | "on-change" | "before-upload" | "before-remove" | "on-exceed", {
    formData: Record<string, any>;
    formOpts: Record<string, any>;
    disabled: boolean;
    isSearch: boolean;
    rowsTotal: number;
    isDetail: boolean;
    oldData: Record<string, any>;
    isComparison: boolean;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin) & Record<string, any>;
export default JnForm;
