import type { CSSProperties, ExtractPropTypes, PropType, VNode } from 'vue';
import { type VueNode } from '../_util/type';
export type ProgressClassNames = {
    root?: string;
    content?: string;
    rail?: string;
    indicator?: string;
};
export type ProgressStyles = {
    root?: CSSProperties;
    content?: CSSProperties;
    rail?: CSSProperties;
    indicator?: CSSProperties;
};
export declare const progressProps: () => {
    prefixCls: {
        type: StringConstructor;
        required: boolean;
    };
    percent: {
        type: NumberConstructor;
        default: any;
    };
    render: {
        type: PropType<(progress: VNode, percent: number) => VueNode>;
        default: any;
    };
    classNames: {
        type: PropType<ProgressClassNames>;
        default: any;
    };
    styles: {
        type: PropType<ProgressStyles>;
        default: any;
    };
    rootClassName: {
        type: StringConstructor;
        default: any;
    };
    rootStyle: {
        type: PropType<CSSProperties>;
        default: any;
    };
    width: {
        type: PropType<import("csstype").Property.Width<string | number>>;
        default: any;
    };
    height: {
        type: PropType<import("csstype").Property.Height<string | number>>;
        default: any;
    };
};
export type ProgressProps = ExtractPropTypes<Partial<ReturnType<typeof progressProps>>>;
declare const Progress: import("vue").DefineComponent<ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        required: boolean;
    };
    percent: {
        type: NumberConstructor;
        default: any;
    };
    render: {
        type: PropType<(progress: VNode, percent: number) => VueNode>;
        default: any;
    };
    classNames: {
        type: PropType<ProgressClassNames>;
        default: any;
    };
    styles: {
        type: PropType<ProgressStyles>;
        default: any;
    };
    rootClassName: {
        type: StringConstructor;
        default: any;
    };
    rootStyle: {
        type: PropType<CSSProperties>;
        default: any;
    };
    width: {
        type: PropType<import("csstype").Property.Width<string | number>>;
        default: any;
    };
    height: {
        type: PropType<import("csstype").Property.Height<string | number>>;
        default: any;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        required: boolean;
    };
    percent: {
        type: NumberConstructor;
        default: any;
    };
    render: {
        type: PropType<(progress: VNode, percent: number) => VueNode>;
        default: any;
    };
    classNames: {
        type: PropType<ProgressClassNames>;
        default: any;
    };
    styles: {
        type: PropType<ProgressStyles>;
        default: any;
    };
    rootClassName: {
        type: StringConstructor;
        default: any;
    };
    rootStyle: {
        type: PropType<CSSProperties>;
        default: any;
    };
    width: {
        type: PropType<import("csstype").Property.Width<string | number>>;
        default: any;
    };
    height: {
        type: PropType<import("csstype").Property.Height<string | number>>;
        default: any;
    };
}>> & Readonly<{}>, {
    width: import("csstype").Property.Width<string | number>;
    height: import("csstype").Property.Height<string | number>;
    render: (progress: VNode, percent: number) => VueNode;
    rootClassName: string;
    rootStyle: CSSProperties;
    percent: number;
    styles: ProgressStyles;
    classNames: ProgressClassNames;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default Progress;
