import type { ExtractPropTypes, PropType } from 'vue';
export declare function skeletonElementProps(): {
    prefixCls: StringConstructor;
    size: PropType<number | "default" | "small" | "large">;
    shape: PropType<"default" | "circle" | "round" | "square">;
    active: {
        type: BooleanConstructor;
        default: any;
    };
};
export declare function skeletonAvatarProps(): {
    shape: PropType<"circle" | "square">;
    prefixCls: StringConstructor;
    size: PropType<number | "default" | "small" | "large">;
    active: {
        type: BooleanConstructor;
        default: any;
    };
};
export declare function skeletonButtonProps(): {
    size: PropType<"default" | "small" | "large">;
    block: BooleanConstructor;
    prefixCls: StringConstructor;
    shape: PropType<"default" | "circle" | "round" | "square">;
    active: {
        type: BooleanConstructor;
        default: any;
    };
};
type widthUnit = number | string;
export declare function skeletonParagraphProps(): {
    prefixCls: StringConstructor;
    width: {
        type: PropType<widthUnit | widthUnit[]>;
    };
    rows: NumberConstructor;
};
export declare function skeletonTitleProps(): {
    prefixCls: StringConstructor;
    width: {
        type: PropType<string | number>;
    };
};
export declare function skeletonProps(): {
    active: {
        type: BooleanConstructor;
        default: any;
    };
    loading: {
        type: BooleanConstructor;
        default: any;
    };
    prefixCls: StringConstructor;
    avatar: {
        type: PropType<boolean | Partial<ExtractPropTypes<{
            shape: PropType<"circle" | "square">;
            prefixCls: StringConstructor;
            size: PropType<number | "default" | "small" | "large">;
            active: {
                type: BooleanConstructor;
                default: any;
            };
        }>>>;
        default: boolean | Partial<ExtractPropTypes<{
            shape: PropType<"circle" | "square">;
            prefixCls: StringConstructor;
            size: PropType<number | "default" | "small" | "large">;
            active: {
                type: BooleanConstructor;
                default: any;
            };
        }>>;
    };
    title: {
        type: PropType<boolean | Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            width: {
                type: PropType<string | number>;
            };
        }>>>;
        default: boolean | Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            width: {
                type: PropType<string | number>;
            };
        }>>;
    };
    paragraph: {
        type: PropType<boolean | Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            width: {
                type: PropType<widthUnit | widthUnit[]>;
            };
            rows: NumberConstructor;
        }>>>;
        default: boolean | Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            width: {
                type: PropType<widthUnit | widthUnit[]>;
            };
            rows: NumberConstructor;
        }>>;
    };
    round: {
        type: BooleanConstructor;
        default: any;
    };
};
export type SkeletonProps = Partial<ExtractPropTypes<ReturnType<typeof skeletonProps>>>;
export type SkeletonTitleProps = Partial<ExtractPropTypes<ReturnType<typeof skeletonTitleProps>>>;
export type SkeletonParagraphProps = Partial<ExtractPropTypes<ReturnType<typeof skeletonParagraphProps>>>;
export interface SkeletonInputProps extends Omit<SkeletonElementProps, 'size' | 'shape'> {
    size?: 'large' | 'small' | 'default';
    block?: boolean;
}
export type SkeletonImageProps = Omit<SkeletonElementProps, 'size' | 'shape' | 'active'>;
export type SkeletonElementProps = Partial<ExtractPropTypes<ReturnType<typeof skeletonElementProps>>>;
export type SkeletonButtonProps = Partial<ExtractPropTypes<ReturnType<typeof skeletonButtonProps>>>;
export type SkeletonAvatarProps = Partial<ExtractPropTypes<ReturnType<typeof skeletonAvatarProps>>>;
export {};
