import { HTMLAttributes, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { PolymorphicProps } from '../factory';
import { RootEmits, RootProps } from './carousel.types';
import { AutoplayStatusDetails, DragStatusDetails, PageChangeDetails } from '@zag-js/carousel';
export interface CarouselRootBaseProps extends RootProps, PolymorphicProps {
}
export interface CarouselRootProps extends CarouselRootBaseProps, 
/**
 * @vue-ignore
 */
HTMLAttributes {
}
export interface CarouselRootEmits extends RootEmits {
}
declare const _default: __VLS_WithTemplateSlots< DefineComponent<CarouselRootProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    autoplayStatusChange: (details: AutoplayStatusDetails) => any;
    dragStatusChange: (details: DragStatusDetails) => any;
    pageChange: (details: PageChangeDetails) => any;
    "update:page": (page: number) => any;
}, string, PublicProps, Readonly<CarouselRootProps> & Readonly<{
    onAutoplayStatusChange?: ((details: AutoplayStatusDetails) => any) | undefined;
    onDragStatusChange?: ((details: DragStatusDetails) => any) | undefined;
    onPageChange?: ((details: PageChangeDetails) => any) | undefined;
    "onUpdate:page"?: ((page: number) => any) | undefined;
}>, {
    autoplay: boolean | {
        delay: number;
    };
    loop: boolean;
    autoSize: boolean;
    allowMouseDrag: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
