import type { Key } from '@antdv/ui/es/types';
import type { CSSProperties, ExtractPropTypes, HTMLAttributes, PropType } from 'vue';
import type { ListGridType, ListItemLayout, ListLocale, ListSize } from './interface';
export declare function listProps(): {
    bordered: {
        type: BooleanConstructor;
        default: boolean;
    };
    dataSource: {
        type: PropType<any[]>;
        default: any[];
    };
    extra: {
        type: PropType<import("@antdv/ui/es/types").VueNode>;
    };
    grid: {
        type: PropType<ListGridType>;
        default: ListGridType;
    };
    itemLayout: PropType<ListItemLayout>;
    loading: {
        type: PropType<boolean | (Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            spinning: {
                type: BooleanConstructor;
                default: any;
            };
            size: PropType<import("../../spin").SpinSize>;
            wrapperClassName: StringConstructor;
            tip: any;
            delay: NumberConstructor;
            indicator: any;
        }>> & HTMLAttributes)>;
        default: boolean | (Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            spinning: {
                type: BooleanConstructor;
                default: any;
            };
            size: PropType<import("../../spin").SpinSize>;
            wrapperClassName: StringConstructor;
            tip: any;
            delay: NumberConstructor;
            indicator: any;
        }>> & HTMLAttributes);
    };
    loadMore: {
        type: PropType<import("@antdv/ui/es/types").VueNode>;
    };
    pagination: {
        type: PropType<false | Partial<ExtractPropTypes<{
            position: {
                type: PropType<import("../../pagination").PaginationPosition>;
                default: import("../../pagination").PaginationPosition;
            };
            total: NumberConstructor;
            defaultCurrent: NumberConstructor;
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            current: NumberConstructor;
            defaultPageSize: NumberConstructor;
            pageSize: NumberConstructor;
            hideOnSinglePage: {
                type: BooleanConstructor;
                default: boolean;
            };
            showSizeChanger: {
                type: BooleanConstructor;
                default: boolean;
            };
            pageSizeOptions: {
                type: PropType<(string | number)[]>;
                default: (string | number)[];
            };
            buildOptionText: {
                type: PropType<(opt: {
                    value: any;
                }) => any>;
                default: (opt: {
                    value: any;
                }) => any;
            };
            showQuickJumper: {
                type: PropType<boolean | {
                    goButton?: any;
                }>;
                default: boolean | {
                    goButton?: any;
                };
            };
            showTotal: {
                type: PropType<(total: number, range: [number, number]) => any>;
                default: (total: number, range: [number, number]) => any;
            };
            size: {
                type: PropType<"default" | "small">;
                default: "default" | "small";
            };
            simple: {
                type: BooleanConstructor;
                default: boolean;
            };
            locale: ObjectConstructor;
            prefixCls: StringConstructor;
            selectPrefixCls: StringConstructor;
            totalBoundaryShowSizeChanger: NumberConstructor;
            selectComponentClass: StringConstructor;
            itemRender: {
                type: PropType<(opt: {
                    page: number;
                    type: "page" | "next" | "prev" | "jump-prev" | "jump-next";
                    originalElement: any;
                }) => any>;
                default: (opt: {
                    page: number;
                    type: "page" | "next" | "prev" | "jump-prev" | "jump-next";
                    originalElement: any;
                }) => any;
            };
            role: StringConstructor;
            responsive: BooleanConstructor;
            showLessItems: {
                type: BooleanConstructor;
                default: boolean;
            };
            onChange: {
                type: PropType<(page: number, pageSize: number) => void>;
                default: (page: number, pageSize: number) => void;
            };
            onShowSizeChange: {
                type: PropType<(current: number, size: number) => void>;
                default: (current: number, size: number) => void;
            };
            'onUpdate:current': {
                type: PropType<(current: number) => void>;
                default: (current: number) => void;
            };
            'onUpdate:pageSize': {
                type: PropType<(size: number) => void>;
                default: (size: number) => void;
            };
        }>>>;
        default: false | Partial<ExtractPropTypes<{
            position: {
                type: PropType<import("../../pagination").PaginationPosition>;
                default: import("../../pagination").PaginationPosition;
            };
            total: NumberConstructor;
            defaultCurrent: NumberConstructor;
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            current: NumberConstructor;
            defaultPageSize: NumberConstructor;
            pageSize: NumberConstructor;
            hideOnSinglePage: {
                type: BooleanConstructor;
                default: boolean;
            };
            showSizeChanger: {
                type: BooleanConstructor;
                default: boolean;
            };
            pageSizeOptions: {
                type: PropType<(string | number)[]>;
                default: (string | number)[];
            };
            buildOptionText: {
                type: PropType<(opt: {
                    value: any;
                }) => any>;
                default: (opt: {
                    value: any;
                }) => any;
            };
            showQuickJumper: {
                type: PropType<boolean | {
                    goButton?: any;
                }>;
                default: boolean | {
                    goButton?: any;
                };
            };
            showTotal: {
                type: PropType<(total: number, range: [number, number]) => any>;
                default: (total: number, range: [number, number]) => any;
            };
            size: {
                type: PropType<"default" | "small">;
                default: "default" | "small";
            };
            simple: {
                type: BooleanConstructor;
                default: boolean;
            };
            locale: ObjectConstructor;
            prefixCls: StringConstructor;
            selectPrefixCls: StringConstructor;
            totalBoundaryShowSizeChanger: NumberConstructor;
            selectComponentClass: StringConstructor;
            itemRender: {
                type: PropType<(opt: {
                    page: number;
                    type: "page" | "next" | "prev" | "jump-prev" | "jump-next";
                    originalElement: any;
                }) => any>;
                default: (opt: {
                    page: number;
                    type: "page" | "next" | "prev" | "jump-prev" | "jump-next";
                    originalElement: any;
                }) => any;
            };
            role: StringConstructor;
            responsive: BooleanConstructor;
            showLessItems: {
                type: BooleanConstructor;
                default: boolean;
            };
            onChange: {
                type: PropType<(page: number, pageSize: number) => void>;
                default: (page: number, pageSize: number) => void;
            };
            onShowSizeChange: {
                type: PropType<(current: number, size: number) => void>;
                default: (current: number, size: number) => void;
            };
            'onUpdate:current': {
                type: PropType<(current: number) => void>;
                default: (current: number) => void;
            };
            'onUpdate:pageSize': {
                type: PropType<(size: number) => void>;
                default: (size: number) => void;
            };
        }>>;
    };
    prefixCls: StringConstructor;
    rowKey: {
        type: PropType<Key | ((item: any) => Key)>;
        default: Key | ((item: any) => Key);
    };
    renderItem: {
        type: PropType<(opt: {
            item: any;
            index: number;
        }) => any>;
        default: (opt: {
            item: any;
            index: number;
        }) => any;
    };
    size: PropType<ListSize>;
    split: {
        type: BooleanConstructor;
        default: boolean;
    };
    header: {
        type: PropType<import("@antdv/ui/es/types").VueNode>;
    };
    footer: {
        type: PropType<import("@antdv/ui/es/types").VueNode>;
    };
    locale: {
        type: PropType<ListLocale>;
        default: ListLocale;
    };
};
export declare function listItemProps(): {
    prefixCls: StringConstructor;
    extra: any;
    actions: any;
    grid: PropType<ListGridType>;
    colStyle: {
        type: PropType<CSSProperties>;
        default: () => {};
    };
};
export declare function listItemMetaProps(): {
    avatar: any;
    description: any;
    prefixCls: StringConstructor;
    title: any;
};
export type ListItemMetaProps = Partial<ExtractPropTypes<ReturnType<typeof listItemMetaProps>>>;
export type ListItemProps = Partial<ExtractPropTypes<ReturnType<typeof listItemProps>>>;
export type ListProps = Partial<ExtractPropTypes<ReturnType<typeof listProps>>>;
