import { PropType } from 'vue';
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    stateful: {
        type: BooleanConstructor;
        default: boolean;
    };
    modelValue: {
        type: NumberConstructor;
        default: number;
    };
    items: {
        type: PropType<any[]>;
        required: true;
    };
    autoscroll: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoscrollInterval: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    autoscrollPauseDuration: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    infinite: {
        type: BooleanConstructor;
        default: boolean;
    };
    fadeKeyframe: {
        type: StringConstructor;
        default: string;
    };
    arrows: {
        type: BooleanConstructor;
        default: boolean;
    };
    indicators: {
        type: BooleanConstructor;
        default: boolean;
    };
    indicatorTrigger: {
        type: PropType<"click" | "hover" | "none">;
        default: string;
        validator: (value: string) => boolean;
    };
    vertical: {
        type: BooleanConstructor;
        default: boolean;
    };
    height: {
        type: StringConstructor;
        default: string;
    };
    effect: {
        type: PropType<"fade" | "transition">;
        default: string;
        validator: (value: string) => boolean;
    };
    color: {
        type: StringConstructor;
        default: string;
    };
    ratio: {
        type: (StringConstructor | NumberConstructor)[];
    };
    ariaLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    ariaPreviousLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    ariaNextLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    ariaGoToSlideLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    ariaSlideOfLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    title: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    onError: {
        type: PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    preset: {
        type: PropType<NonNullable<import("../../composables").PresetPropValue | undefined>>;
        required: true;
        default: import("../../composables").PresetPropValue | undefined;
    };
    maxWidth: {
        type: PropType<NonNullable<string | number | undefined>>;
        required: true;
        default: string | number | undefined;
    };
    onFallback: {
        type: PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    fallbackSrc: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackText: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackIcon: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackRender: {
        type: PropType<() => any>;
        required: true;
        default: (() => any) | undefined;
    };
    loading: {
        type: PropType<NonNullable<"lazy" | "eager" | undefined>>;
        required: true;
        default: "lazy" | "eager" | undefined;
    };
    lazy: {
        type: PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    onLoaded: {
        type: PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    fit: {
        type: PropType<NonNullable<"fill" | "none" | "contain" | "cover" | "scale-down" | undefined>>;
        required: true;
        default: "fill" | "none" | "contain" | "cover" | "scale-down" | undefined;
    };
    placeholderSrc: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    sizes: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    srcset: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    draggable: {
        type: PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    crossorigin: {
        type: PropType<NonNullable<"anonymous" | "use-credentials" | undefined>>;
        required: true;
        default: "anonymous" | "use-credentials" | undefined;
    };
    decoding: {
        type: PropType<NonNullable<"auto" | "sync" | "async" | undefined>>;
        required: true;
        default: "auto" | "sync" | "async" | undefined;
    };
    fetchpriority: {
        type: PropType<NonNullable<"auto" | "high" | "low" | undefined>>;
        required: true;
        default: "auto" | "high" | "low" | undefined;
    };
    referrerpolicy: {
        type: PropType<NonNullable<"no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined>>;
        required: true;
        default: "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
    };
    swipable: {
        type: BooleanConstructor;
        default: boolean;
    };
    swipeDistance: {
        type: NumberConstructor;
        default: number;
    };
    swipeDirection: {
        type: PropType<"all" | "horizontal" | "vertical" | ("" | "right" | "left" | "up" | "down")>;
        default: string;
    };
}, {
    currentSlide: import("../../composables").StatefulValue<number>;
    goTo: (index: number) => void;
    next: () => void;
    prev: () => void;
    goToWithPause: (index: number) => void;
    prevWithPause: () => void;
    nextWithPause: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    stateful: {
        type: BooleanConstructor;
        default: boolean;
    };
    modelValue: {
        type: NumberConstructor;
        default: number;
    };
    items: {
        type: PropType<any[]>;
        required: true;
    };
    autoscroll: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoscrollInterval: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    autoscrollPauseDuration: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    infinite: {
        type: BooleanConstructor;
        default: boolean;
    };
    fadeKeyframe: {
        type: StringConstructor;
        default: string;
    };
    arrows: {
        type: BooleanConstructor;
        default: boolean;
    };
    indicators: {
        type: BooleanConstructor;
        default: boolean;
    };
    indicatorTrigger: {
        type: PropType<"click" | "hover" | "none">;
        default: string;
        validator: (value: string) => boolean;
    };
    vertical: {
        type: BooleanConstructor;
        default: boolean;
    };
    height: {
        type: StringConstructor;
        default: string;
    };
    effect: {
        type: PropType<"fade" | "transition">;
        default: string;
        validator: (value: string) => boolean;
    };
    color: {
        type: StringConstructor;
        default: string;
    };
    ratio: {
        type: (StringConstructor | NumberConstructor)[];
    };
    ariaLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    ariaPreviousLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    ariaNextLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    ariaGoToSlideLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    ariaSlideOfLabel: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    title: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    onError: {
        type: PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    preset: {
        type: PropType<NonNullable<import("../../composables").PresetPropValue | undefined>>;
        required: true;
        default: import("../../composables").PresetPropValue | undefined;
    };
    maxWidth: {
        type: PropType<NonNullable<string | number | undefined>>;
        required: true;
        default: string | number | undefined;
    };
    onFallback: {
        type: PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    fallbackSrc: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackText: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackIcon: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackRender: {
        type: PropType<() => any>;
        required: true;
        default: (() => any) | undefined;
    };
    loading: {
        type: PropType<NonNullable<"lazy" | "eager" | undefined>>;
        required: true;
        default: "lazy" | "eager" | undefined;
    };
    lazy: {
        type: PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    onLoaded: {
        type: PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    fit: {
        type: PropType<NonNullable<"fill" | "none" | "contain" | "cover" | "scale-down" | undefined>>;
        required: true;
        default: "fill" | "none" | "contain" | "cover" | "scale-down" | undefined;
    };
    placeholderSrc: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    sizes: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    srcset: {
        type: PropType<string>;
        required: true;
        default: string | undefined;
    };
    draggable: {
        type: PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    crossorigin: {
        type: PropType<NonNullable<"anonymous" | "use-credentials" | undefined>>;
        required: true;
        default: "anonymous" | "use-credentials" | undefined;
    };
    decoding: {
        type: PropType<NonNullable<"auto" | "sync" | "async" | undefined>>;
        required: true;
        default: "auto" | "sync" | "async" | undefined;
    };
    fetchpriority: {
        type: PropType<NonNullable<"auto" | "high" | "low" | undefined>>;
        required: true;
        default: "auto" | "high" | "low" | undefined;
    };
    referrerpolicy: {
        type: PropType<NonNullable<"no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined>>;
        required: true;
        default: "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
    };
    swipable: {
        type: BooleanConstructor;
        default: boolean;
    };
    swipeDistance: {
        type: NumberConstructor;
        default: number;
    };
    swipeDirection: {
        type: PropType<"all" | "horizontal" | "vertical" | ("" | "right" | "left" | "up" | "down")>;
        default: string;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
    title: string;
    onError: (...args: any[]) => any;
    modelValue: number;
    stateful: boolean;
    preset: NonNullable<import("../../composables").PresetPropValue | undefined>;
    color: string;
    maxWidth: NonNullable<string | number | undefined>;
    vertical: boolean;
    onFallback: (...args: any[]) => any;
    fallbackSrc: string;
    fallbackText: string;
    fallbackIcon: string;
    fallbackRender: () => any;
    loading: NonNullable<"lazy" | "eager" | undefined>;
    ariaLabel: import("../../composables").TranslationProp;
    height: string;
    lazy: NonNullable<boolean | undefined>;
    onLoaded: (...args: any[]) => any;
    fit: NonNullable<"fill" | "none" | "contain" | "cover" | "scale-down" | undefined>;
    placeholderSrc: string;
    sizes: string;
    srcset: string;
    draggable: NonNullable<boolean | undefined>;
    crossorigin: NonNullable<"anonymous" | "use-credentials" | undefined>;
    decoding: NonNullable<"auto" | "sync" | "async" | undefined>;
    fetchpriority: NonNullable<"auto" | "high" | "low" | undefined>;
    referrerpolicy: NonNullable<"no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined>;
    autoscroll: boolean;
    autoscrollInterval: string | number;
    autoscrollPauseDuration: string | number;
    infinite: boolean;
    fadeKeyframe: string;
    arrows: boolean;
    indicators: boolean;
    indicatorTrigger: "click" | "hover" | "none";
    effect: "fade" | "transition";
    ariaPreviousLabel: import("../../composables").TranslationProp;
    ariaNextLabel: import("../../composables").TranslationProp;
    ariaGoToSlideLabel: import("../../composables").TranslationProp;
    ariaSlideOfLabel: import("../../composables").TranslationProp;
    swipable: boolean;
    swipeDistance: number;
    swipeDirection: "all" | "horizontal" | "vertical" | ("" | "right" | "left" | "up" | "down");
}, {}>, {
    "prev-arrow"?(_: {}): any;
    "next-arrow"?(_: {}): any;
    indicator?(_: {
        item: any;
        index: number;
        goTo: (index: number) => void;
        isActive: boolean;
    }): any;
    default?(_: {
        item: any;
        index: number;
        goTo: (index: number) => void;
        isActive: boolean;
    }): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
