import type { DefineComponent, PropType, Ref, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, ComputedRef } from 'vue';
import type { RequestMethod, ModalConfig, ModalType, OpenFuncType,  TablePage } from './field-select-modal-types';
import type { VxeTableProps, VxeTableDataRow, VxeGridInstance } from 'vxe-table';
declare const _sfc_main: DefineComponent<{
    modalTitle: {
        type: StringConstructor;
        default: string;
    };
    apiUrls: {
        type: StringConstructor;
        default: string;
    };
    requestMethod: {
        type: PropType<RequestMethod>;
        default: string;
    };
    tableData: {
        type: PropType<Record<string, unknown>[]>;
        default: () => null;
    };
    modalConfig: {
        type: PropType<ModalConfig>;
        default: () => {};
    };
    handleListData: {
        type: FunctionConstructor;
    };
    tableConfig: {
        type: PropType<VxeTableProps<VxeTableDataRow>>;
        default: () => {
            height: number;
            isTree: boolean;
            radioConfig: {};
            checkedConfig: {
                highlight: boolean;
                reserve: boolean;
                trigger: string;
            };
            pagerConfig: {};
            treeConfig: {};
        };
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    selectModal: {
        type: PropType<ModalType>;
        default: string;
    };
}, {
    classes: ComputedRef<{
        [x: string]: boolean;
    }>;
    selectGrid: Ref<VxeGridInstance<any> | null>;
    data: {
        url: string;
        params: {
            [x: string]: any;
            pageNo: number;
            pageSize: number;
            keyWord?: string | undefined;
            total?: number | undefined;
            align?: string | undefined;
            pageSizes?: number[] | undefined;
            layouts?: string[] | undefined;
            perfect?: boolean | undefined;
        };
        modalLoading: boolean;
        loading: boolean;
    };
    modalShow: Ref<boolean>;
    modalConfigComputed: ComputedRef<any>;
    tableConfigComputed: ComputedRef<any>;
    tablePage: {
        currentPage: number;
        pageSize: number;
        total?: number | undefined;
        align?: string | undefined;
        pageSizes?: number[] | undefined;
        layouts?: string[] | undefined;
        perfect?: boolean | undefined;
    };
    tableData: Ref<Record<string, unknown>[]>;
    columns: Ref<{
        type?: string | undefined;
        field?: string | undefined;
        title?: string | undefined;
        align?: string | undefined;
        fieldLabelI18nKey?: string | undefined;
        width?: number | undefined;
    }[]>;
    form: Record<string, unknown>;
    selectModal: Ref<ModalType>;
    getPagerConfig: ComputedRef<any>;
    modalTitle: Ref<string>;
    placeholder: Ref<string>;
    open: ({ url, params, columns: col, selectModal: sm, requestMethod: rm }: OpenFuncType) => void;
    close: () => void;
    onSearch: () => void;
    handlePageChange: ({ currentPage, pageSize }: TablePage) => void;
    selectedOk: () => void;
    loadData: (extend?: {
        action: string;
    }) => void;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    modalTitle: {
        type: StringConstructor;
        default: string;
    };
    apiUrls: {
        type: StringConstructor;
        default: string;
    };
    requestMethod: {
        type: PropType<RequestMethod>;
        default: string;
    };
    tableData: {
        type: PropType<Record<string, unknown>[]>;
        default: () => null;
    };
    modalConfig: {
        type: PropType<ModalConfig>;
        default: () => {};
    };
    handleListData: {
        type: FunctionConstructor;
    };
    tableConfig: {
        type: PropType<VxeTableProps<VxeTableDataRow>>;
        default: () => {
            height: number;
            isTree: boolean;
            radioConfig: {};
            checkedConfig: {
                highlight: boolean;
                reserve: boolean;
                trigger: string;
            };
            pagerConfig: {};
            treeConfig: {};
        };
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    selectModal: {
        type: PropType<ModalType>;
        default: string;
    };
}>>, {
    modalTitle: string;
    apiUrls: string;
    requestMethod: RequestMethod;
    tableData: Record<string, unknown>[];
    modalConfig: ModalConfig;
    tableConfig: VxeTableProps<VxeTableDataRow>;
    placeholder: string;
    selectModal: ModalType;
}, {}>;
export default _sfc_main;
