import { BglFormSchemaT, Path, BagelForm } from '../..';
import { MaybeRefOrGetter } from 'vue';
import { ComponentProps } from 'vue-component-type-helpers';
declare const _default: <T extends {
    [key: string]: any;
}, P extends Path<T>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
        readonly "onUpdate:modelValue"?: ((value: T) => any) | undefined;
        readonly onSubmit?: ((...args: any[]) => any) | undefined;
        readonly onStepChange?: ((...args: any[]) => any) | undefined;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onSubmit" | "onUpdate:modelValue" | "onStepChange"> & ({
        modelValue: T;
    } & {
        bagelFormProps?: Omit<ComponentProps<typeof BagelForm<T, P>>, ("schema" | `${string}modelValue` | `ref${string}` | `onVnode${string}` | "onSubmit")>;
        schema?: MaybeRefOrGetter<BglFormSchemaT<T>>;
        showProgress?: boolean;
        rtl?: boolean;
        stepLabels?: string[];
        allowStepNavigation?: boolean;
        validateOnSteps?: boolean;
        /** Animation direction - auto detects based on step change or can be forced */
        direction?: "auto" | "left" | "right";
    }) & Partial<{}>> & import('vue').PublicProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{
        submit: () => void;
        validateForm: () => boolean;
        checkValidity: (() => boolean) | undefined;
        isDirty: import('vue').ComputedRef<boolean | undefined>;
        reset: () => void;
        isLastStep: import('vue').ComputedRef<boolean>;
        goToStep: (stepIndex: number) => Promise<boolean>;
        currentStep: import('vue').Ref<number, number>;
        totalSteps: import('vue').ComputedRef<number>;
        isStepValid: import('vue').Ref<boolean, boolean>;
        nextStep: () => Promise<void>;
        prevStep: () => void;
    }>): void;
    attrs: any;
    slots: {
        progress?(_: {
            currentStep: number;
            totalSteps: number;
            goToStep: (stepIndex: number) => Promise<boolean>;
            stepLabels: string[] | undefined;
            allowStepNavigation: boolean;
            isStepValidated: (stepIndex: number) => boolean;
        }): any;
        success?(_: {}): any;
        error?(_: {}): any;
        steppers?(_: {
            prevStep: () => void;
            nextStep: () => Promise<void>;
            submit: () => void;
            currentStep: number;
            totalSteps: number;
            isLastStep: boolean;
            isStepValid: boolean;
        }): any;
    };
    emit: ((event: "submit" | "stepChange", ...args: any[]) => void) & ((evt: "update:modelValue", value: T) => void);
}>) => import('vue').VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
//# sourceMappingURL=BglMultiStepForm.vue.d.ts.map