import { PropType, Slots, VNode } from 'vue'; import { VueTypeDef, VueTypeValidableDef } from 'vue-types'; export declare const tuple: (...args: T) => T; interface Attrs { [key: string]: unknown; } declare const splitAttrs: (attrs: Attrs) => { onEvents: Record; events: Record; extraAttrs: Record; }; declare const getEvents: (ele?: { $?: boolean; $attrs?: Attrs; props?: Attrs; }, on?: boolean) => Record; declare const isEmptyElement: (elem: VNode) => boolean; declare const flattenChildren: (children: unknown) => unknown[]; declare const getSlot: (instance: unknown, name?: string, options?: Record) => unknown[]; declare const getSlotContent: (instance: unknown, prop?: string, options?: Record, exec?: boolean) => unknown; declare const getPropSlot: (slots: Slots, props: Record, prop?: string) => unknown; declare const getPrefixCls: (suffixCls: string, prefixCls?: string, customizeCls?: string) => string; declare const initProps: ; }>>(types: T, defaultProps: Partial<{ [K in keyof T]: T[K] extends VueTypeValidableDef ? U : T[K] extends VueTypeDef ? U : T[K] extends { type: PropType; } ? U : unknown; }>) => T; export { splitAttrs, getEvents, isEmptyElement, flattenChildren, getSlot, getSlotContent, getPropSlot, getPrefixCls, initProps };