import { type PropType, type ExtractPublicPropTypes } from 'vue';
import { type ThemeComponent } from '../../composables/useTheme';
declare const validators: {
    variant: readonly ["line"];
    size: string[];
};
declare const stepperProps: {
    modelValue: (StringConstructor | NumberConstructor)[];
    steps: {
        type: PropType<StepperStep[]>;
        default: () => never[];
    };
    variant: {
        type: PropType<"line">;
        default: string;
    };
    grow: BooleanConstructor;
    fullWidth: {
        type: BooleanConstructor;
        default: boolean;
    };
    interactive: {
        type: BooleanConstructor;
        default: boolean;
    };
    iconPristine: StringConstructor;
    iconComplete: StringConstructor;
    iconIncomplete: StringConstructor;
    iconCurrent: StringConstructor;
    iconError: StringConstructor;
    color: {
        readonly type: StringConstructor;
        readonly default: string | undefined;
    };
    size: {
        readonly type: PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
};
export type StepperStepStatus = 'pristine' | 'complete' | 'incomplete' | 'error';
export type StepperStep = {
    status: StepperStepStatus;
    label: string;
    description: string;
    disabled?: boolean;
};
export type StepperVariant = typeof validators.variant[number];
export type StepperProps = ExtractPublicPropTypes<typeof stepperProps>;
type InternalClasses = 'wrapper' | 'list' | 'scroller' | 'content' | 'step' | 'label' | 'icon';
export interface StepperTheme extends ThemeComponent<StepperProps, InternalClasses> {
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    modelValue: (StringConstructor | NumberConstructor)[];
    steps: {
        type: PropType<StepperStep[]>;
        default: () => never[];
    };
    variant: {
        type: PropType<"line">;
        default: string;
    };
    grow: BooleanConstructor;
    fullWidth: {
        type: BooleanConstructor;
        default: boolean;
    };
    interactive: {
        type: BooleanConstructor;
        default: boolean;
    };
    iconPristine: StringConstructor;
    iconComplete: StringConstructor;
    iconIncomplete: StringConstructor;
    iconCurrent: StringConstructor;
    iconError: StringConstructor;
    color: {
        readonly type: StringConstructor;
        readonly default: string | undefined;
    };
    size: {
        readonly type: PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: (StringConstructor | NumberConstructor)[];
    steps: {
        type: PropType<StepperStep[]>;
        default: () => never[];
    };
    variant: {
        type: PropType<"line">;
        default: string;
    };
    grow: BooleanConstructor;
    fullWidth: {
        type: BooleanConstructor;
        default: boolean;
    };
    interactive: {
        type: BooleanConstructor;
        default: boolean;
    };
    iconPristine: StringConstructor;
    iconComplete: StringConstructor;
    iconIncomplete: StringConstructor;
    iconCurrent: StringConstructor;
    iconError: StringConstructor;
    color: {
        readonly type: StringConstructor;
        readonly default: string | undefined;
    };
    size: {
        readonly type: PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
    color: string;
    size: import("../../composables/useCommon").Size;
    variant: "line";
    steps: StepperStep[];
    grow: boolean;
    fullWidth: boolean;
    interactive: boolean;
}, {}>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
