import type { RuntimeModelField } from '@oinone/kunlun-engine';
import { EDirection } from '@oinone/kunlun-service';
import { type PropType } from 'vue';
import type { SortableGroupOption } from './typing';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    list: {
        type: PropType<any[]>;
        default: () => never[];
    };
    fieldKey: {
        type: StringConstructor;
        default: string;
    };
    directionKey: {
        type: StringConstructor;
        default: string;
    };
    title: {
        type: StringConstructor;
    };
    sureText: {
        type: StringConstructor;
        default: string;
    };
    modelFields: {
        type: PropType<SortableGroupOption[]>;
        default: () => never[];
    };
}>, {
    existingFields: import("vue").ComputedRef<any[]>;
    draggableList: import("vue").Ref<{
        [x: string]: any;
        displayName?: string | undefined;
    }[], {
        [key: string]: any;
        displayName?: string;
    }[] | {
        [x: string]: any;
        displayName?: string | undefined;
    }[]>;
    showModelFields: import("vue").ComputedRef<SortableGroupOption[]>;
    EDirection: typeof EDirection;
    searchKey: import("vue").Ref<string, string>;
    visiblePopover: import("vue").Ref<boolean, boolean>;
    onRemove: (index: number) => void;
    onSubmit: () => void;
    getPopupContainer: () => (target: any) => any;
    onSelectField: (field: RuntimeModelField) => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:list" | "change")[], "update:list" | "change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    list: {
        type: PropType<any[]>;
        default: () => never[];
    };
    fieldKey: {
        type: StringConstructor;
        default: string;
    };
    directionKey: {
        type: StringConstructor;
        default: string;
    };
    title: {
        type: StringConstructor;
    };
    sureText: {
        type: StringConstructor;
        default: string;
    };
    modelFields: {
        type: PropType<SortableGroupOption[]>;
        default: () => never[];
    };
}>> & Readonly<{
    "onUpdate:list"?: ((...args: any[]) => any) | undefined;
    onChange?: ((...args: any[]) => any) | undefined;
}>, {
    list: any[];
    fieldKey: string;
    directionKey: string;
    sureText: string;
    modelFields: SortableGroupOption[];
}, {}, {
    OioIcon: any;
    OioButton: any;
    OioInput: any;
    Draggable: import("vue").DefineComponent<{
        list: {
            type: ArrayConstructor;
            required: boolean;
            default: any;
        };
        modelValue: {
            type: ArrayConstructor;
            required: boolean;
            default: any;
        };
        itemKey: {
            type: (FunctionConstructor | StringConstructor)[];
            required: boolean;
        };
        clone: {
            type: FunctionConstructor;
            default: (original: any) => any;
        };
        tag: {
            type: StringConstructor;
            default: string;
        };
        move: {
            type: FunctionConstructor;
            default: any;
        };
        componentData: {
            type: ObjectConstructor;
            required: boolean;
            default: any;
        };
    }, unknown, {
        error: boolean;
    }, {
        realList(): any;
        getKey(): any;
    }, {
        getUnderlyingVm(domElement: any): any;
        getUnderlyingPotencialDraggableComponent(htmElement: any): any;
        emitChanges(evt: any): void;
        alterList(onList: any): void;
        spliceList(): void;
        updatePosition(oldIndex: any, newIndex: any): void;
        getRelatedContextFromMoveEvent({ to, related }: {
            to: any;
            related: any;
        }): any;
        getVmIndexFromDomIndex(domIndex: any): any;
        onDragStart(evt: any): void;
        onDragAdd(evt: any): void;
        onDragRemove(evt: any): void;
        onDragUpdate(evt: any): void;
        computeFutureIndex(relatedContext: any, evt: any): any;
        onDragMove(evt: any, originalEvent: any): any;
        onDragEnd(): void;
    }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any[], any, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
        move: Function;
        tag: string;
        clone: Function;
        list: unknown[];
        modelValue: unknown[];
        componentData: Record<string, any>;
    } & {
        itemKey?: string | Function;
    }>, {
        move: Function;
        tag: string;
        clone: Function;
        list: unknown[];
        modelValue: unknown[];
        componentData: Record<string, any>;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
