import type { ExtractPropTypes, PropType } from 'vue';
import type { StringGradients, ProgressGradient } from './props';
declare const lineProps: {
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    direction: {
        type: PropType<any>;
    };
    type: import("vue-types").VueTypeDef<"circle" | "line" | "dashboard">;
    percent: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    format: {
        type: PropType<(percent?: number, successPercent?: number) => import("vue").VNodeChild>;
    };
    status: import("vue-types").VueTypeDef<"normal" | "active" | "success" | "exception">;
    showInfo: import("vue-types").VueTypeValidableDef<boolean>;
    strokeWidth: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    strokeLinecap: import("vue-types").VueTypeDef<"square" | "butt" | "round">;
    strokeColor: {
        type: PropType<string | ProgressGradient>;
    };
    trailColor: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    width: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    success: {
        type: PropType<import("./props").SuccessProps>;
        default: () => import("./props").SuccessProps;
    };
    gapDegree: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    gapPosition: import("vue-types").VueTypeDef<"left" | "right" | "bottom" | "top">;
    size: import("vue-types").VueTypeDef<"small" | "default">;
    steps: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    successPercent: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
};
export declare type LineProps = Partial<ExtractPropTypes<typeof lineProps>>;
/**
 * {
 *   '0%': '#afc163',
 *   '75%': '#009900',
 *   '50%': 'green',     ====>     '#afc163 0%, #66FF00 25%, #00CC00 50%, #009900 75%, #ffffff 100%'
 *   '25%': '#66FF00',
 *   '100%': '#ffffff'
 * }
 */
export declare const sortGradient: (gradients: StringGradients) => string;
/**
 * Then this man came to realize the truth: Besides six pence, there is the moon. Besides bread and
 * butter, there is the bug. And... Besides women, there is the code.
 *
 * @example
 *   {
 *     "0%": "#afc163",
 *     "25%": "#66FF00",
 *     "50%": "#00CC00", // ====>  linear-gradient(to right, #afc163 0%, #66FF00 25%,
 *     "75%": "#009900", //        #00CC00 50%, #009900 75%, #ffffff 100%)
 *     "100%": "#ffffff"
 *   }
 */
export declare const handleGradient: (strokeColor: ProgressGradient, directionConfig: any) => {
    backgroundImage: string;
};
declare const _default: import("vue").DefineComponent<{
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    direction: {
        type: PropType<any>;
    };
    type: import("vue-types").VueTypeDef<"circle" | "line" | "dashboard">;
    percent: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    format: {
        type: PropType<(percent?: number, successPercent?: number) => import("vue").VNodeChild>;
    };
    status: import("vue-types").VueTypeDef<"normal" | "active" | "success" | "exception">;
    showInfo: import("vue-types").VueTypeValidableDef<boolean>;
    strokeWidth: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    strokeLinecap: import("vue-types").VueTypeDef<"square" | "butt" | "round">;
    strokeColor: {
        type: PropType<string | ProgressGradient>;
    };
    trailColor: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    width: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    success: {
        type: PropType<import("./props").SuccessProps>;
        default: () => import("./props").SuccessProps;
    };
    gapDegree: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    gapPosition: import("vue-types").VueTypeDef<"left" | "right" | "bottom" | "top">;
    size: import("vue-types").VueTypeDef<"small" | "default">;
    steps: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    successPercent: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    prefixCls?: unknown;
    direction?: unknown;
    type?: unknown;
    percent?: unknown;
    format?: unknown;
    status?: unknown;
    showInfo?: unknown;
    strokeWidth?: unknown;
    strokeLinecap?: unknown;
    strokeColor?: unknown;
    trailColor?: unknown;
    width?: unknown;
    success?: unknown;
    gapDegree?: unknown;
    gapPosition?: unknown;
    size?: unknown;
    steps?: unknown;
    successPercent?: unknown;
} & {
    success: import("./props").SuccessProps;
    prefixCls: string;
    percent: number;
    strokeWidth: number;
    trailColor: string;
    width: number;
    gapDegree: number;
    steps: number;
    successPercent: number;
} & {
    type?: "circle" | "line" | "dashboard";
    size?: "small" | "default";
    format?: (percent?: number, successPercent?: number) => import("vue").VNodeChild;
    status?: "normal" | "active" | "success" | "exception";
    showInfo?: boolean;
    strokeLinecap?: "square" | "butt" | "round";
    strokeColor?: string | ProgressGradient;
    gapPosition?: "left" | "right" | "bottom" | "top";
    direction?: unknown;
}>, {
    success: import("./props").SuccessProps;
    prefixCls: string;
    percent: number;
    strokeWidth: number;
    trailColor: string;
    width: number;
    gapDegree: number;
    steps: number;
    successPercent: number;
}>;
export default _default;
