import type { Size } from '../../composables/size';
import type { DefineComponent, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType } from 'vue';
export declare const progressVariants: readonly ["linear", "circular"];
export declare type ProgressVariant = typeof progressVariants[number];
export declare const Progress: DefineComponent<{
    variant: {
        type: PropType<"linear" | "circular">;
        default: string;
        validator: (v: any) => boolean;
    };
    tag: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: PropType<Size | undefined>;
        default: string;
    };
    theme: StringConstructor;
    active: {
        type: BooleanConstructor;
        default: boolean;
    };
    modelValue: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    strokeWidth: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    indeterminate: BooleanConstructor;
    underlay: {
        type: BooleanConstructor;
        default: boolean;
    };
    rotate: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    /**
     * @zh 进度条颜色
     */
    color: {
        type: PropType<string | false | null>;
        default: string;
    };
    /**
     * @zh 是否在左侧
     */
    start: BooleanConstructor;
    /**
     * @zh 是否在右侧
     */
    end: BooleanConstructor;
}, {
    start: () => void;
    finish: () => Promise<unknown>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    'update:modelValue': (_modelValue: number) => true;
}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    variant: {
        type: PropType<"linear" | "circular">;
        default: string;
        validator: (v: any) => boolean;
    };
    tag: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: PropType<Size | undefined>;
        default: string;
    };
    theme: StringConstructor;
    active: {
        type: BooleanConstructor;
        default: boolean;
    };
    modelValue: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    strokeWidth: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    indeterminate: BooleanConstructor;
    underlay: {
        type: BooleanConstructor;
        default: boolean;
    };
    rotate: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    /**
     * @zh 进度条颜色
     */
    color: {
        type: PropType<string | false | null>;
        default: string;
    };
    /**
     * @zh 是否在左侧
     */
    start: BooleanConstructor;
    /**
     * @zh 是否在右侧
     */
    end: BooleanConstructor;
}>> & {
    "onUpdate:modelValue"?: ((_modelValue: number) => any) | undefined;
}, {
    modelValue: string | number;
    tag: string;
    color: string | false | null;
    variant: "linear" | "circular";
    size: Size | undefined;
    active: boolean;
    start: boolean;
    end: boolean;
    indeterminate: boolean;
    rotate: string | number;
    strokeWidth: string | number;
    underlay: boolean;
}>;
export declare type Progress = InstanceType<typeof Progress>;
//# sourceMappingURL=progress.d.ts.map