import type { ExtractPropTypes, PropType } from 'vue';
import type { VueNode } from '@antdv/ui/es/types';
import type { Direction } from '../../config-provider';
import type { GapPositionType, ProgressGradient, ProgressSize, StrokeColorType, StrokeLinecapType, SuccessProps } from './interface';
export declare function progressProps(): {
    prefixCls: StringConstructor;
    type: {
        type: PropType<"circle" | "line" | "dashboard">;
        default: "circle" | "line" | "dashboard";
    };
    percent: NumberConstructor;
    format: {
        type: PropType<(percent?: number, successPercent?: number) => VueNode>;
        default: (percent?: number, successPercent?: number) => VueNode;
    };
    status: {
        type: PropType<"success" | "normal" | "exception" | "active">;
        default: "success" | "normal" | "exception" | "active";
    };
    showInfo: {
        type: BooleanConstructor;
        default: boolean;
    };
    strokeWidth: NumberConstructor;
    strokeLinecap: {
        type: PropType<"round" | "butt" | "square">;
        default: "round" | "butt" | "square";
    };
    strokeColor: {
        default: string | string[] | ProgressGradient;
        type: PropType<string | string[] | ProgressGradient>;
    };
    trailColor: StringConstructor;
    /** @deprecated Use `size` instead */
    width: NumberConstructor;
    success: {
        type: PropType<SuccessProps>;
        default: SuccessProps;
    };
    gapDegree: NumberConstructor;
    gapPosition: {
        type: PropType<"bottom" | "left" | "right" | "top">;
        default: "bottom" | "left" | "right" | "top";
    };
    size: {
        type: PropType<ProgressSize>;
        default: ProgressSize;
    };
    steps: NumberConstructor;
    /** @deprecated Use `success` instead */
    successPercent: NumberConstructor;
    title: StringConstructor;
    progressStatus: {
        type: PropType<"success" | "normal" | "exception" | "active">;
        default: "success" | "normal" | "exception" | "active";
    };
};
export interface CircleProps extends ProgressProps {
    strokeColor?: string | ProgressGradient;
}
export declare function progressCircleProps(): {
    strokeColor: {
        default: string | ProgressGradient;
        type: PropType<string | ProgressGradient>;
    };
    prefixCls: StringConstructor;
    type: {
        type: PropType<"circle" | "line" | "dashboard">;
        default: "circle" | "line" | "dashboard";
    };
    percent: NumberConstructor;
    format: {
        type: PropType<(percent?: number, successPercent?: number) => VueNode>;
        default: (percent?: number, successPercent?: number) => VueNode;
    };
    status: {
        type: PropType<"success" | "normal" | "exception" | "active">;
        default: "success" | "normal" | "exception" | "active";
    };
    showInfo: {
        type: BooleanConstructor;
        default: boolean;
    };
    strokeWidth: NumberConstructor;
    strokeLinecap: {
        type: PropType<"round" | "butt" | "square">;
        default: "round" | "butt" | "square";
    };
    trailColor: StringConstructor;
    /** @deprecated Use `size` instead */
    width: NumberConstructor;
    success: {
        type: PropType<SuccessProps>;
        default: SuccessProps;
    };
    gapDegree: NumberConstructor;
    gapPosition: {
        type: PropType<"bottom" | "left" | "right" | "top">;
        default: "bottom" | "left" | "right" | "top";
    };
    size: {
        type: PropType<ProgressSize>;
        default: ProgressSize;
    };
    steps: NumberConstructor;
    /** @deprecated Use `success` instead */
    successPercent: NumberConstructor;
    title: StringConstructor;
    progressStatus: {
        type: PropType<"success" | "normal" | "exception" | "active">;
        default: "success" | "normal" | "exception" | "active";
    };
};
export declare function progressLineProps(): {
    strokeColor: {
        default: string | ProgressGradient;
        type: PropType<string | ProgressGradient>;
    };
    direction: {
        type: PropType<Direction>;
        default: Direction;
    };
    prefixCls: StringConstructor;
    type: {
        type: PropType<"circle" | "line" | "dashboard">;
        default: "circle" | "line" | "dashboard";
    };
    percent: NumberConstructor;
    format: {
        type: PropType<(percent?: number, successPercent?: number) => VueNode>;
        default: (percent?: number, successPercent?: number) => VueNode;
    };
    status: {
        type: PropType<"success" | "normal" | "exception" | "active">;
        default: "success" | "normal" | "exception" | "active";
    };
    showInfo: {
        type: BooleanConstructor;
        default: boolean;
    };
    strokeWidth: NumberConstructor;
    strokeLinecap: {
        type: PropType<"round" | "butt" | "square">;
        default: "round" | "butt" | "square";
    };
    trailColor: StringConstructor;
    /** @deprecated Use `size` instead */
    width: NumberConstructor;
    success: {
        type: PropType<SuccessProps>;
        default: SuccessProps;
    };
    gapDegree: NumberConstructor;
    gapPosition: {
        type: PropType<"bottom" | "left" | "right" | "top">;
        default: "bottom" | "left" | "right" | "top";
    };
    size: {
        type: PropType<ProgressSize>;
        default: ProgressSize;
    };
    steps: NumberConstructor;
    /** @deprecated Use `success` instead */
    successPercent: NumberConstructor;
    title: StringConstructor;
    progressStatus: {
        type: PropType<"success" | "normal" | "exception" | "active">;
        default: "success" | "normal" | "exception" | "active";
    };
};
export declare function progressStepsProps(): {
    steps: NumberConstructor;
    strokeColor: {
        type: PropType<string | string[]>;
        default: string | string[];
    };
    trailColor: StringConstructor;
    prefixCls: StringConstructor;
    type: {
        type: PropType<"circle" | "line" | "dashboard">;
        default: "circle" | "line" | "dashboard";
    };
    percent: NumberConstructor;
    format: {
        type: PropType<(percent?: number, successPercent?: number) => VueNode>;
        default: (percent?: number, successPercent?: number) => VueNode;
    };
    status: {
        type: PropType<"success" | "normal" | "exception" | "active">;
        default: "success" | "normal" | "exception" | "active";
    };
    showInfo: {
        type: BooleanConstructor;
        default: boolean;
    };
    strokeWidth: NumberConstructor;
    strokeLinecap: {
        type: PropType<"round" | "butt" | "square">;
        default: "round" | "butt" | "square";
    };
    /** @deprecated Use `size` instead */
    width: NumberConstructor;
    success: {
        type: PropType<SuccessProps>;
        default: SuccessProps;
    };
    gapDegree: NumberConstructor;
    gapPosition: {
        type: PropType<"bottom" | "left" | "right" | "top">;
        default: "bottom" | "left" | "right" | "top";
    };
    size: {
        type: PropType<ProgressSize>;
        default: ProgressSize;
    };
    /** @deprecated Use `success` instead */
    successPercent: NumberConstructor;
    title: StringConstructor;
    progressStatus: {
        type: PropType<"success" | "normal" | "exception" | "active">;
        default: "success" | "normal" | "exception" | "active";
    };
};
export declare function internalCircleProps(): {
    gapDegree: NumberConstructor;
    gapPosition: {
        type: PropType<GapPositionType>;
    };
    percent: {
        type: PropType<number | number[]>;
    };
    prefixCls: StringConstructor;
    strokeColor: {
        type: PropType<StrokeColorType>;
    };
    strokeLinecap: {
        type: PropType<StrokeLinecapType>;
    };
    strokeWidth: NumberConstructor;
    trailColor: StringConstructor;
    trailWidth: NumberConstructor;
    transition: StringConstructor;
};
export type InternalCircleProps = Partial<ExtractPropTypes<ReturnType<typeof internalCircleProps>>>;
export type ProgressStepsProps = Partial<ExtractPropTypes<ReturnType<typeof progressStepsProps>>>;
export type ProgressLineProps = Partial<ExtractPropTypes<ReturnType<typeof progressLineProps>>>;
export type ProgressCircleProps = Partial<ExtractPropTypes<ReturnType<typeof progressCircleProps>>>;
export type ProgressProps = Partial<ExtractPropTypes<ReturnType<typeof progressProps>>>;
