import { Contacts } from '../constants/contacts';
import { User } from '../constants/user';
import { ExtractEmitsTypes } from '@yanzhen-libs/utils-vue';
import { ExtractPropTypes, VNode } from 'vue';
import { ContactsItem, ContactsValue } from '../constants';
export declare const contactsListOptions: {
    ns: any;
    class: any;
    name: any;
};
export declare const contactsListName: any;
export declare const contactsListProps: {
    defaultNode: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<VNode<import('vue').RendererNode, import('vue').RendererElement, {
            [key: string]: any;
        }> | (() => VNode)>, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    activeTab: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<Contacts | Contacts[]>, unknown, unknown, Contacts, boolean>;
    childActiveTab: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<User | User[]>, unknown, unknown, string, boolean>;
    childTabs: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<{
        value: User;
        label: string;
    }[]>, unknown, unknown, () => any[], boolean>;
    selectedValue: {
        type: import('vue').PropType<ContactsItem[]>;
    };
    selectedIds: {
        type: import('vue').PropType<ContactsValue[]>;
    };
    disableIds: {
        type: import('vue').PropType<ContactsValue[]>;
    };
    multiple: {
        type: BooleanConstructor;
    };
    isTreeMode: {
        type: BooleanConstructor;
    };
    itemClass: {
        type: StringConstructor;
    };
    headerClass: {
        type: StringConstructor;
    };
    treeClass: {
        type: StringConstructor;
    };
    selectedIconClass: {
        type: StringConstructor;
    };
    onLoadMore: {
        type: import('vue').PropType<(state?: {
            x: number;
            y: number;
            isScrolling: boolean;
            arrivedState: {
                left: boolean;
                right: boolean;
                top: boolean;
                bottom: boolean;
            };
            directions: {
                left: boolean;
                right: boolean;
                top: boolean;
                bottom: boolean;
            };
            measure: () => void;
        }) => void>;
    };
    onItemClick: {
        type: import('vue').PropType<(item?: Partial<ContactsItem>) => void>;
    };
    onSuffixClick: {
        type: import('vue').PropType<(item?: Partial<ContactsItem>) => void>;
    };
    onTreeExpand: {
        type: import('vue').PropType<(expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
            node: import('ant-design-vue/es/tree').EventDataNode;
            expanded: boolean;
            nativeEvent: MouseEvent;
        }) => void>;
    };
    onTreeSelect: {
        type: import('vue').PropType<(selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
            event: "select";
            selected: boolean;
            node: import('ant-design-vue/es/tree').EventDataNode;
            selectedNodes: import('ant-design-vue/es/tree').DataNode[];
            nativeEvent: MouseEvent;
        }) => void>;
    };
    'onUpdate:childActiveTab': {
        type: import('vue').PropType<(val: any) => void>;
    };
    'onUpdate:loading': {
        type: import('vue').PropType<(loading: boolean) => void>;
    };
    options: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').ExtractOptionType<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    valueKey: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    labelKey: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    disabledKey: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    childrenKey: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    typeKey: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    avatarKey: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    class: {
        readonly type: import('vue').PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    style: {
        readonly type: import('vue').PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    mode: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<readonly ["default", "virtual", "tree"]>, "default" | "virtual" | "tree", unknown, "default", boolean>;
    dataSource: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<ContactsItem[]>, unknown, unknown, () => any[], boolean>;
    loading: import('@yanzhen-libs/utils-vue').EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
    disabled: import('@yanzhen-libs/utils-vue').EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
    height: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    distance: import('@yanzhen-libs/utils-vue').EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
    tag: import('@yanzhen-libs/utils-vue').EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
};
export declare const contactsListEmits: {
    "load-more": (state?: {
        x: number;
        y: number;
        isScrolling: boolean;
        arrivedState: {
            left: boolean;
            right: boolean;
            top: boolean;
            bottom: boolean;
        };
        directions: {
            left: boolean;
            right: boolean;
            top: boolean;
            bottom: boolean;
        };
        measure: () => void;
    }) => boolean;
    "item-click": (item?: Partial<ContactsItem>) => boolean;
    "suffix-click": (item?: Partial<ContactsItem>) => boolean;
    "tree-expand": (expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
        node: import('ant-design-vue/es/tree').EventDataNode;
        expanded: boolean;
        nativeEvent: MouseEvent;
    }) => boolean;
    "tree-select": (selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
        event: "select";
        selected: boolean;
        node: import('ant-design-vue/es/tree').EventDataNode;
        selectedNodes: import('ant-design-vue/es/tree').DataNode[];
        nativeEvent: MouseEvent;
    }) => boolean;
    "update:child-active-tab": (val: any) => boolean;
    "update:loading": (loading: boolean) => boolean;
};
export type ContactsListProps = ExtractPropTypes<typeof contactsListProps>;
export type ContactsListPropsKey = keyof ContactsListProps;
export type ContactsListEmits = ExtractEmitsTypes<typeof contactsListEmits>;
