import { PropType } from 'vue';
import { DataOption } from './typing';
declare enum TransferDirection {
    left = "left",
    right = "right"
}
declare enum CheckedStatus {
    all = "all",
    part = "part",
    none = "none"
}
declare const _default: import("vue").DefineComponent<{
    visible: {
        type: BooleanConstructor;
    };
    fields: {
        type: PropType<DataOption[]>;
    };
    invisibleFields: {
        type: PropType<DataOption[]>;
    };
    visibleFields: {
        type: PropType<DataOption[]>;
    };
    ok: {
        type: FunctionConstructor;
    };
    reset: {
        type: FunctionConstructor;
    };
}, {
    modalId: string;
    onUpdateVisible: (val: boolean) => void;
    dataSource: import("vue").Ref<{
        key: string;
        title: string;
        invisible?: boolean | undefined;
        disabled?: boolean | undefined;
    }[]>;
    targetKeys: import("vue").Ref<string[]>;
    onUpdateTargetKeys: (val: string[]) => void;
    selectedKeys: import("vue").Ref<string[]>;
    onUpdateSelectedKeys: (val: string[]) => void;
    searchValues: import("vue").Ref<[string, string]>;
    onSearch: (direction: TransferDirection, val: string) => void;
    filterOption: (inputValue: string, option: DataOption) => boolean;
    leftSelectedAllStatus: import("vue").ComputedRef<CheckedStatus>;
    rightSelectedAllStatus: import("vue").ComputedRef<CheckedStatus>;
    renderItem: (option: DataOption) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>[];
    onCancel: () => void;
    onOk: () => any;
    onReset: () => any;
    onLeftSelectedAll: (val: boolean) => void;
    onRightSelectedAll: (val: boolean) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:visible"[], "update:visible", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
    };
    fields: {
        type: PropType<DataOption[]>;
    };
    invisibleFields: {
        type: PropType<DataOption[]>;
    };
    visibleFields: {
        type: PropType<DataOption[]>;
    };
    ok: {
        type: FunctionConstructor;
    };
    reset: {
        type: FunctionConstructor;
    };
}>> & {
    "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
}, {
    visible: boolean;
}>;
export default _default;
