import type { StepProps } from './item';
import type { ComputedRef, Ref, VNode } from 'vue';
import type { StepsProps } from './steps';
export interface StepItemState {
    uid: number;
    getVnode: () => VNode;
    currentStatus: ComputedRef<string>;
    internalStatus: Ref<string>;
    setIndex: (val: number) => void;
    calcProgress: (status: string) => void;
}
export interface IStepsInject {
    props: Required<StepsProps>;
    steps: Ref<StepItemState[]>;
    addStep: (item: StepItemState) => void;
    removeStep: (item: StepItemState) => void;
}
declare var __VLS_1: {}, __VLS_33: {}, __VLS_35: {};
type __VLS_Slots = {} & {
    icon?: (props: typeof __VLS_1) => any;
} & {
    title?: (props: typeof __VLS_33) => any;
} & {
    description?: (props: typeof __VLS_35) => any;
};
declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<StepProps>, {
    title: string;
    description: string;
    icon: string;
    status: string;
}>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<StepProps>, {
    title: string;
    description: string;
    icon: string;
    status: string;
}>>>, {
    title: string;
    icon: import("element-plus/es/utils").IconPropType;
    description: string;
    status: "" | "wait" | "process" | "finish" | "error" | "success";
}, {}>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_TypePropsToOption<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<Required<T>[K]>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaultsLocal<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
type __VLS_PrettifyLocal<T> = {
    [K in keyof T as K]: T[K];
} & {};
