import { CSSStyle } from '@oinone/kunlun-shared';
import { Slot, Slots, VNodeProps } from 'vue';
/**
 * Slot映射
 */
export interface SlotMapping {
    /**
     * 原Slot名称
     */
    origin: string;
    /**
     * 转换后的Slot名称，不设置默认为原Slot名称
     */
    target?: string;
    /**
     * 是否不空，默认提供<code>() => []</code>空插槽，同<code>default = (() => [])</code>
     */
    isNotNull?: boolean;
    /**
     * 如果原Slot为空，则使用默认Slot
     */
    default?: Slot;
}
/**
 * Slot名称组合类型
 * string 直接按名称获取Slot
 * [string, string] 按[0]获取Slot后将名称改为[1]并返回
 * SlotMapping 根据映射规则进行相应的转换
 */
export declare type SlotName = string | [string, string] | SlotMapping;
/**
 * 属性记录帮助类
 */
export declare class PropRecordHelper {
    /**
     * 根据属性定义进行相应的转换，自动过滤空值
     * @param propsDefine props定义
     * @param values 值的集合
     * @param defaultValues 默认值
     */
    static convert(propsDefine: Record<string, unknown> & VNodeProps, values: Record<string, unknown>, defaultValues?: Record<string, unknown>): Record<string, unknown>;
    /**
     * 收集Slots
     * @param self render中通过this传入
     * @param slotNames 插槽名称
     */
    static collectionRenderSlots(self: {
        $slots: Slots;
    } & any, slotNames: SlotName[]): Record<string, Slot>;
    private static $$collectionSlots;
    /**
     * 收集Slots
     * @param slots Slots render中通过this.$slots传入
     * @param slotNames 插槽名称
     */
    static collectionSlots(slots: Slots, slotNames: SlotName[]): Record<string, Slot>;
    private static HTML_INTERNAL_ATTRIBUTES;
    static collectionBasicProps(attrs: Record<string, unknown>, classNames?: string[], style?: string | Partial<CSSStyle>): Record<string, unknown>;
    private static HTML_ATTRIBUTES_PREFIX;
    private static collectionHTMLAttributes;
}
