import { PropType, Ref } from 'vue';
import type { Step, StepControls } from './types';
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    modelValue: {
        type: NumberConstructor;
        default: number;
    };
    steps: {
        type: PropType<Step[]>;
        default: () => never[];
        required: true;
    };
    color: {
        type: StringConstructor;
        default: string;
    };
    vertical: {
        type: BooleanConstructor;
        default: boolean;
    };
    navigationDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    controlsHidden: {
        type: BooleanConstructor;
        default: boolean;
    };
    nextDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    nextDisabledOnError: {
        type: BooleanConstructor;
        default: boolean;
    };
    finishButtonHidden: {
        type: BooleanConstructor;
        default: boolean;
    };
    ariaLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    linear: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** Hidden step shown when all steps complete */
    finishStep: {
        type: PropType<Step>;
    };
    stateful: {
        type: PropType<boolean>;
        default: boolean;
    };
}, {
    modelValue: Ref<number>;
    focusedStep: Ref<{
        trigger: boolean;
        stepIndex: number;
    }>;
    getIterableSlotData: (step: Step, index: number) => {
        focus: Ref<{
            trigger: boolean;
            stepIndex: number;
        }>;
        isActive: boolean;
        isCompleted: boolean;
        isLastStep: boolean;
        isNextStepDisabled: boolean;
        isPrevStepDisabled: boolean;
        index: number;
        step: Step;
        hasError: boolean;
        setStep: (index: number) => void;
        nextStep: (stepsToSkip?: number | undefined) => void;
        prevStep: (stepsToSkip?: number | undefined) => void;
        finish: () => void;
    };
    stepControls: StepControls;
    nextStep: (stepsToSkip?: number) => void;
    prevStep: (stepsToSkip?: number) => void;
    setStep: (index: number) => Promise<void>;
    setFocus: (direction: "next" | "prev") => void;
    completeStep: (shouldCompleteStep?: boolean | undefined) => void;
    setError: (shouldSetError?: boolean | undefined) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (...args: any[]) => void;
    finish: (...args: any[]) => void;
    "update:steps": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: NumberConstructor;
        default: number;
    };
    steps: {
        type: PropType<Step[]>;
        default: () => never[];
        required: true;
    };
    color: {
        type: StringConstructor;
        default: string;
    };
    vertical: {
        type: BooleanConstructor;
        default: boolean;
    };
    navigationDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    controlsHidden: {
        type: BooleanConstructor;
        default: boolean;
    };
    nextDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    nextDisabledOnError: {
        type: BooleanConstructor;
        default: boolean;
    };
    finishButtonHidden: {
        type: BooleanConstructor;
        default: boolean;
    };
    ariaLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    linear: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** Hidden step shown when all steps complete */
    finishStep: {
        type: PropType<Step>;
    };
    stateful: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onFinish?: ((...args: any[]) => any) | undefined;
    "onUpdate:steps"?: ((...args: any[]) => any) | undefined;
}, {
    modelValue: number;
    stateful: boolean;
    color: string;
    vertical: boolean;
    ariaLabel: import("../../composables").TranslationProp;
    linear: boolean;
    steps: Step[];
    navigationDisabled: boolean;
    controlsHidden: boolean;
    nextDisabled: boolean;
    nextDisabledOnError: boolean;
    finishButtonHidden: boolean;
}, {}>, Partial<Record<`step-button-${number}`, (_: {
    focus: Ref<{
        trigger: boolean;
        stepIndex: number;
    }>;
    isActive: boolean;
    isCompleted: boolean;
    isLastStep: boolean;
    isNextStepDisabled: boolean;
    isPrevStepDisabled: boolean;
    index: number;
    step: Step;
    hasError: boolean;
    setStep: (index: number) => void;
    nextStep: (stepsToSkip?: number | undefined) => void;
    prevStep: (stepsToSkip?: number | undefined) => void;
    finish: () => void;
}) => any>> & Partial<Record<NonNullable<`step-content-${number}` | "step-content-finish">, (_: {
    focus: Ref<{
        trigger: boolean;
        stepIndex: number;
    }>;
    isActive: boolean;
    isCompleted: boolean;
    isLastStep: boolean;
    isNextStepDisabled: boolean;
    isPrevStepDisabled: boolean;
    index: number;
    step: Step;
    hasError: boolean;
    setStep: (index: number) => void;
    nextStep: (stepsToSkip?: number | undefined) => void;
    prevStep: (stepsToSkip?: number | undefined) => void;
    finish: () => void;
}) => any>> & {
    divider?(_: {
        focus: Ref<{
            trigger: boolean;
            stepIndex: number;
        }>;
        isActive: boolean;
        isCompleted: boolean;
        isLastStep: boolean;
        isNextStepDisabled: boolean;
        isPrevStepDisabled: boolean;
        index: number;
        step: Step;
        hasError: boolean;
        setStep: (index: number) => void;
        nextStep: (stepsToSkip?: number | undefined) => void;
        prevStep: (stepsToSkip?: number | undefined) => void;
        finish: () => void;
    }): any;
    controls?(_: {
        focus: Ref<{
            trigger: boolean;
            stepIndex: number;
        }>;
        isActive: boolean;
        isCompleted: boolean;
        isLastStep: boolean;
        isNextStepDisabled: boolean;
        isPrevStepDisabled: boolean;
        index: number;
        step: Step;
        hasError: boolean;
        setStep: (index: number) => void;
        nextStep: (stepsToSkip?: number | undefined) => void;
        prevStep: (stepsToSkip?: number | undefined) => void;
        finish: () => void;
    }): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
