import { TSelectTableProps } from './type';
import { DefineComponent, Ref, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
import { LooseRequired } from '@vue/shared';

export type Emits = {
    (event: "page-change", val: any): void;
    (event: "selectionChange", val: any[], ids: any[]): void;
    (event: "radioChange", row: any, value: any): void;
    (event: "update:inputValue", val: string): void;
    (event: "input-focus"): void;
    (event: "input-blur"): void;
    (event: "input-clear"): void;
    (event: "input-click"): void;
};
declare function __VLS_template(): Partial<Record<NonNullable<string | number>, (_: any) => any>> & Partial<Record<NonNullable<string | number>, (_: {
    param: any;
    scope: any;
}) => any>> & Partial<Record<any, (_: {
    scope: any;
}) => any>> & {
    querybar?(_: {}): any;
    toolbar?(_: {}): any;
    default?(_: {}): any;
    footer?(_: {}): any;
};
declare const __VLS_component: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TSelectTableProps>, {
    modelValue: undefined;
    inputValue: undefined;
    defaultSelectVal: () => never[];
    radioSelectValLabel: string;
    table: () => {
        data: never[];
        currentPage: number;
        pageSize: number;
        total: number;
    };
    keywords: () => {
        value: string;
        label: string;
    };
    columns: () => never[];
    multiple: boolean;
    filterable: boolean;
    remote: boolean;
    remoteMethod: undefined;
    filterMethod: undefined;
    isShowInput: boolean;
    inputAttr: () => {};
    inputWidth: number;
    selectWidth: number;
    tableWidth: number;
    isShowQuery: boolean;
    isShowBlurBtn: boolean;
    btnBind: () => {
        btnTxt: string;
    };
    align: string;
    reserveSelection: boolean;
    selectable: undefined;
    multipleFixed: boolean;
    radioTxt: string;
    radioFixed: boolean;
    tableSize: string;
    border: boolean;
    isShowFirstColumn: boolean;
    useVirtual: boolean;
    virtualShowSize: number;
    isShowPagination: boolean;
    paginationSize: string;
    selfExpanded: boolean;
    isClearQuery: boolean;
    isRadioEchoLabel: boolean;
    defaultValIsOpenRadioChange: boolean;
    radioSameIsCancel: boolean;
    rowClickRadio: boolean;
    isKeyup: boolean;
    isExpanded: boolean;
    multipleDisableDelete: boolean;
    tableLoading: boolean;
    loadingTxt: string;
}>, {
    focus: () => void;
    blur: () => void;
    clear: () => void;
    props: Readonly<Omit< LooseRequired<TSelectTableProps>, "table" | "modelValue" | "columns" | "align" | "filterable" | "multiple" | "rowClickRadio" | "isShowPagination" | "isKeyup" | "border" | "tableLoading" | "loadingTxt" | "useVirtual" | "virtualShowSize" | "selectable" | "isRadioEchoLabel" | "radioSelectValLabel" | "inputValue" | "defaultSelectVal" | "keywords" | "remote" | "remoteMethod" | "filterMethod" | "isShowInput" | "inputAttr" | "inputWidth" | "selectWidth" | "tableWidth" | "isShowQuery" | "isShowBlurBtn" | "btnBind" | "reserveSelection" | "multipleFixed" | "radioTxt" | "radioFixed" | "tableSize" | "isShowFirstColumn" | "paginationSize" | "selfExpanded" | "isClearQuery" | "defaultValIsOpenRadioChange" | "radioSameIsCancel" | "isExpanded" | "multipleDisableDelete">> & {
        readonly modelValue: any;
        readonly inputValue: any;
        readonly defaultSelectVal: any[];
        readonly radioSelectValLabel: string;
        readonly table: {
            [key: string]: any;
            data: any[];
            currentPage: number;
            pageSize: number;
            total: number;
        };
        readonly keywords: {
            value: any;
            label: string;
        };
        readonly columns: any[];
        readonly multiple: boolean;
        readonly filterable: boolean;
        readonly remote: boolean;
        readonly remoteMethod: Function | undefined;
        readonly filterMethod: Function | undefined;
        readonly isShowInput: boolean;
        readonly inputAttr: Record<string, any>;
        readonly inputWidth: number;
        readonly selectWidth: number;
        readonly tableWidth: number;
        readonly isShowQuery: boolean;
        readonly isShowBlurBtn: boolean;
        readonly btnBind: Record<string, any>;
        readonly align: "center" | "left" | "right";
        readonly reserveSelection: boolean;
        readonly selectable: Function | undefined;
        readonly multipleFixed: string | boolean;
        readonly radioTxt: string;
        readonly radioFixed: string | boolean;
        readonly tableSize: "" | "default" | "small" | "large";
        readonly border: boolean;
        readonly isShowFirstColumn: boolean;
        readonly useVirtual: boolean;
        readonly virtualShowSize: number;
        readonly isShowPagination: boolean;
        readonly paginationSize: "" | "default" | "small" | "large";
        readonly selfExpanded: boolean;
        readonly isClearQuery: boolean;
        readonly isRadioEchoLabel: boolean;
        readonly defaultValIsOpenRadioChange: boolean;
        readonly radioSameIsCancel: boolean;
        readonly rowClickRadio: boolean;
        readonly isKeyup: boolean;
        readonly isExpanded: boolean;
        readonly multipleDisableDelete: boolean;
        readonly tableLoading: boolean;
        readonly loadingTxt: string;
    } & {
        readonly modelValue: boolean | undefined;
        readonly value: boolean;
        readonly filterable: boolean;
        readonly multiple: boolean;
        readonly rowClickRadio: boolean;
        readonly isShowPagination: boolean;
        readonly isKeyup: boolean;
        readonly border: boolean;
        readonly tableLoading: boolean;
        readonly useVirtual: boolean;
        readonly isRadioEchoLabel: boolean;
        readonly inputValue: boolean | undefined;
        readonly remote: boolean;
        readonly isShowInput: boolean;
        readonly isShowQuery: boolean;
        readonly isShowBlurBtn: boolean;
        readonly reserveSelection: boolean;
        readonly isShowFirstColumn: boolean;
        readonly selfExpanded: boolean;
        readonly isClearQuery: boolean;
        readonly defaultValIsOpenRadioChange: boolean;
        readonly radioSameIsCancel: boolean;
        readonly isExpanded: boolean;
        readonly multipleDisableDelete: boolean;
    };
    state: {
        defaultSelectValue: any[];
        tableData: any[];
        defaultValue: any;
        ids: any[];
        tabularMap: any;
    };
    tQueryConditionRef: Ref<any>;
    selectRef: Ref<any>;
    selectTable: Ref<any>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "page-change": (val: any) => void;
    selectionChange: (val: any[], ids: any[]) => void;
    radioChange: (row: any, value: any) => void;
    "update:inputValue": (val: string) => void;
    "input-focus": () => void;
    "input-blur": () => void;
    "input-clear": () => void;
    "input-click": () => void;
}, string, PublicProps, Readonly< ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TSelectTableProps>, {
    modelValue: undefined;
    inputValue: undefined;
    defaultSelectVal: () => never[];
    radioSelectValLabel: string;
    table: () => {
        data: never[];
        currentPage: number;
        pageSize: number;
        total: number;
    };
    keywords: () => {
        value: string;
        label: string;
    };
    columns: () => never[];
    multiple: boolean;
    filterable: boolean;
    remote: boolean;
    remoteMethod: undefined;
    filterMethod: undefined;
    isShowInput: boolean;
    inputAttr: () => {};
    inputWidth: number;
    selectWidth: number;
    tableWidth: number;
    isShowQuery: boolean;
    isShowBlurBtn: boolean;
    btnBind: () => {
        btnTxt: string;
    };
    align: string;
    reserveSelection: boolean;
    selectable: undefined;
    multipleFixed: boolean;
    radioTxt: string;
    radioFixed: boolean;
    tableSize: string;
    border: boolean;
    isShowFirstColumn: boolean;
    useVirtual: boolean;
    virtualShowSize: number;
    isShowPagination: boolean;
    paginationSize: string;
    selfExpanded: boolean;
    isClearQuery: boolean;
    isRadioEchoLabel: boolean;
    defaultValIsOpenRadioChange: boolean;
    radioSameIsCancel: boolean;
    rowClickRadio: boolean;
    isKeyup: boolean;
    isExpanded: boolean;
    multipleDisableDelete: boolean;
    tableLoading: boolean;
    loadingTxt: string;
}>>> & {
    "onPage-change"?: ((val: any) => any) | undefined;
    onRadioChange?: ((row: any, value: any) => any) | undefined;
    onSelectionChange?: ((val: any[], ids: any[]) => any) | undefined;
    "onUpdate:inputValue"?: ((val: string) => any) | undefined;
    "onInput-focus"?: (() => any) | undefined;
    "onInput-blur"?: (() => any) | undefined;
    "onInput-clear"?: (() => any) | undefined;
    "onInput-click"?: (() => any) | undefined;
}, {
    table: {
        data: any[];
        currentPage: number;
        pageSize: number;
        total: number;
        [key: string]: any;
    };
    modelValue: any;
    columns: any[];
    align: "left" | "center" | "right";
    filterable: boolean;
    multiple: boolean;
    rowClickRadio: boolean;
    isShowPagination: boolean;
    isKeyup: boolean;
    border: boolean;
    tableLoading: boolean;
    loadingTxt: string;
    useVirtual: boolean;
    virtualShowSize: number;
    selectable: Function;
    isRadioEchoLabel: boolean;
    radioSelectValLabel: string;
    inputValue: any;
    defaultSelectVal: any[];
    keywords: {
        value: any;
        label: string;
    };
    remote: boolean;
    remoteMethod: Function;
    filterMethod: Function;
    isShowInput: boolean;
    inputAttr: Record<string, any>;
    inputWidth: number;
    selectWidth: number;
    tableWidth: number;
    isShowQuery: boolean;
    isShowBlurBtn: boolean;
    btnBind: Record<string, any>;
    reserveSelection: boolean;
    multipleFixed: string | boolean;
    radioTxt: string;
    radioFixed: string | boolean;
    tableSize: "" | "large" | "default" | "small";
    isShowFirstColumn: boolean;
    paginationSize: "" | "large" | "default" | "small";
    selfExpanded: boolean;
    isClearQuery: boolean;
    defaultValIsOpenRadioChange: boolean;
    radioSameIsCancel: boolean;
    isExpanded: boolean;
    multipleDisableDelete: boolean;
}, {}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
