import { ColumnsType, ColumnType } from '@aplus-frontend/antdv/es/table';
import { ApFormSearchFormPopoverSorterItem } from '../ap-form';
import { RowSelectionReturnType } from './hooks/use-table-row-selection';
import { ApColumnType, ApTableProps } from './interface';
import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, ComputedRef, VNode } from 'vue';
declare const _default: <RecordType>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & ApTableProps<RecordType> & Partial<{}>> & PublicProps;
    expose(exposed: ShallowUnwrapRef<{
        submit: () => void;
        reset: () => void;
        refresh: () => void;
        submitWith: () => void;
        setSearchFormValues: (fields: any) => void;
        getSearchFormValues: (transform?: boolean) => Partial<any> | undefined;
        setPaging: (nextPaging: Partial<{
            current: number;
            pageSize: number;
        }>, refreshImmediately?: boolean) => void;
        getPaging: () => {
            current?: number | undefined;
            pageSize?: number | undefined;
        };
        getShownColumns: () => ColumnsType<RecordType>;
        dataSource: ComputedRef<RecordType[]>;
        rowSelection: {
            select: (item: RecordType) => void;
            unSelect: (item: RecordType) => void;
            isSelected: (item: RecordType) => boolean;
            selectAll: () => void;
            unSelectAll: () => void;
            clearAll: () => void;
            toggleSelect: (item: RecordType) => void;
            selectMulti: (items: RecordType[]) => void;
            unSelectMulti: (items: RecordType[]) => void;
            selectedRows: ComputedRef<RecordType[]>;
        };
        scrollBar: {
            x: {
                getCurrentScroll: () => number;
                scroll: (percent: number) => void | undefined;
            };
            y: undefined;
        };
        getSearchFormSorterItems: () => ApFormSearchFormPopoverSorterItem[];
        setSearchFormSorterItems: (sortedItems: ApFormSearchFormPopoverSorterItem[]) => void;
        resetSearchFormSorterItems: () => void;
    }>): void;
    attrs: any;
    slots: Readonly<{
        default: any;
        emptyText?: any;
        expandIcon?: any;
        title?: (params: Omit<RowSelectionReturnType<RecordType>, "rowSelection" | "selectedRows"> & {
            selectedRows: RecordType[];
            selectedRowKeys: (string | number)[];
            shownColumns: ColumnsType<RecordType>;
        }) => any;
        footer?: any;
        summary?: (params: {
            columns: ColumnType<RecordType>[];
            records: RecordType[];
            selectedRows: RecordType[];
        }) => any;
        expandedRowRender?: any;
        expandColumnTitle?: any;
        customFilterIcon?: any;
        customFilterDropdown?: any;
        searchFormExtra?: any;
        bottomPaginationTop?: any;
        headerCell?: (props: {
            title: any;
            column: ApColumnType;
        }) => void;
    }> & {
        default: any;
        emptyText?: any;
        expandIcon?: any;
        title?: (params: Omit<RowSelectionReturnType<RecordType>, "rowSelection" | "selectedRows"> & {
            selectedRows: RecordType[];
            selectedRowKeys: (string | number)[];
            shownColumns: ColumnsType<RecordType>;
        }) => any;
        footer?: any;
        summary?: (params: {
            columns: ColumnType<RecordType>[];
            records: RecordType[];
            selectedRows: RecordType[];
        }) => any;
        expandedRowRender?: any;
        expandColumnTitle?: any;
        customFilterIcon?: any;
        customFilterDropdown?: any;
        searchFormExtra?: any;
        bottomPaginationTop?: any;
        headerCell?: (props: {
            title: any;
            column: ApColumnType;
        }) => void;
    };
    emit: {};
}>) => VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
