import type { SVGAttributes, ExtractPropTypes, PropType } from 'vue';
export declare type ProgressFuncType = (percentage: number) => string;
export declare type StackType = {
    percentage: number;
    type: string;
    striped: boolean;
    indicating: boolean;
    active: boolean;
    format: ProgressFuncType;
};
export declare type ProgressColor = string | Array<string | {
    color: string;
    percentage: number;
}> | ProgressFuncType;
export interface IProgressProps {
    percentage?: number;
    type?: string;
    format: ProgressFuncType;
    striped: boolean;
    active: boolean;
    indicating: boolean;
    showText: boolean;
    showAs: string;
    stack: StackType[];
    text: string;
    strokeWidth: string;
    trackColor: string;
    strokeLinecap: NonNullable<SVGAttributes['stroke-linecap']>;
    width?: number;
    color: ProgressColor;
    align: string;
}
export declare const progressProps: {
    /**
     * @description percentage, required
     */
    percentage: {
        type: NumberConstructor;
        default: number;
        validator: (val: number) => boolean;
    };
    /**
     * @description type of progress bar
     */
    type: StringConstructor;
    /**
     * @description custom text format
     */
    format: {
        type: PropType<ProgressFuncType>;
        default: (percentage: number) => string;
    };
    /**
     * @description stripe over the progress bar's color
     */
    striped: BooleanConstructor;
    active: BooleanConstructor;
    indicating: BooleanConstructor;
    /**
     * @description whether to show percentage
     */
    showText: {
        type: BooleanConstructor;
        default: boolean;
    };
    round: BooleanConstructor;
    showAs: {
        type: StringConstructor;
        default: string;
        validator: (val: string) => boolean;
    };
    stack: {
        type: PropType<StackType[]>;
        default: () => any[];
        validator: (val: Array<{
            percentage: number;
        }>) => boolean;
    };
    text: {
        type: StringConstructor;
        default: string;
    };
    /**
     * @description the width of progress bar
     */
    strokeWidth: {
        type: StringConstructor;
    };
    trackColor: {
        type: StringConstructor;
    };
    /**
     * @description butt/circle/dashboard type shape at the end path
     */
    strokeLinecap: {
        type: PropType<"round" | "inherit" | "butt" | "square">;
        default: "round" | "inherit" | "butt" | "square";
    };
    /**
     * @description background color of progress bar. Overrides `status` prop
     */
    color: {
        type: PropType<ProgressColor>;
        default: string;
    };
    align: {
        type: StringConstructor;
    };
};
export declare type ProgressProps = ExtractPropTypes<typeof progressProps>;
