import type { ExtractPropTypes, PropType } from 'vue';
import type { VxeTableDataRow, VxeTableProps } from 'vxe-table';
export interface ModalConfig {
    isTree?: boolean;
}
export type RequestMethod = 'get' | 'post';
export type TableConfig = VxeTableProps;
export type ModalType = 'single' | 'multiple' | 'none' | '';
export interface Columns {
    type?: string;
    field?: string;
    title?: string;
    align?: string;
    fieldLabelI18nKey?: string;
    width?: number;
}
export interface OpenFuncType {
    url: string;
    params?: object;
    columns: Columns[];
    selectModal?: ModalType;
    requestMethod?: RequestMethod;
}
interface BasePage {
    total?: number;
    align?: string;
    pageSizes?: number[];
    layouts?: string[];
    perfect?: boolean;
}
export interface TablePage extends BasePage {
    currentPage: number;
    pageSize: number;
}
export interface Params extends BasePage {
    pageNo: number;
    pageSize: number;
    keyWord?: string;
    [key: string]: any;
}
export interface EmptyObj {
    [key: string]: never;
}
export declare const fieldSelectModalProps: {
    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;
    };
};
export type FieldSelectModalProps = ExtractPropTypes<typeof fieldSelectModalProps>;
export {};
