import type { TimelineItem, TimelineGroup, TimelineMarker, TimelineScale, TimelineScales, TimelineStackingOptions, TimelineMomentumOptions } from '../types/timeline.ts';
declare const __VLS_export: <GTimelineItem extends TimelineItem, GTimelineGroup extends TimelineGroup, GTimelineMarker extends TimelineMarker>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: import("vue").PublicProps & __VLS_PrettifyLocal<{
        groups?: GTimelineGroup[];
        items?: GTimelineItem[];
        markers?: GTimelineMarker[];
        viewportMin?: number;
        viewportMax?: number;
        minViewportDuration?: number;
        maxViewportDuration?: number;
        initialViewportStart?: number;
        initialViewportEnd?: number;
        renderTimestampLabel?: (timestamp: number, scale: {
            unit: string;
            step: number;
        }) => string;
        fixedLabels?: boolean;
        minTimestampWidth?: number;
        maxZoomSpeed?: number;
        momentum?: TimelineMomentumOptions;
        activeItems?: TimelineItem["id"][];
        maxOffsetOutsideViewport?: number;
        scales?: TimelineScales[];
        weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
        stacking?: TimelineStackingOptions;
    } & {
        onPointermove?: ((value: {
            time: number;
            event: PointerEvent;
            item: GTimelineItem | GTimelineMarker | null;
        }) => any) | undefined;
        onPointerdown?: ((value: {
            time: number;
            event: PointerEvent;
            item: GTimelineItem | GTimelineMarker | null;
        }) => any) | undefined;
        onPointerup?: ((value: {
            time: number;
            event: PointerEvent;
            item: GTimelineItem | GTimelineMarker | null;
        }) => any) | undefined;
        onWheel?: ((event: WheelEvent) => any) | undefined;
        onClick?: ((value: {
            time: number;
            event: MouseEvent;
            item: GTimelineItem | GTimelineMarker | null;
        }) => any) | undefined;
        onContextmenu?: ((value: {
            time: number;
            event: MouseEvent;
            item: GTimelineItem | GTimelineMarker | null;
        }) => any) | undefined;
        onTouchmove?: ((value: {
            time: number;
            event: TouchEvent;
        }) => any) | undefined;
        onTouchstart?: ((value: {
            time: number;
            event: TouchEvent;
        }) => any) | undefined;
        onTouchend?: ((value: {
            event: TouchEvent;
        }) => any) | undefined;
        onMousemoveTimeline?: ((value: {
            time: number;
            event: MouseEvent;
        }) => any) | undefined;
        onMouseleaveTimeline?: ((value: {
            event: MouseEvent;
        }) => any) | undefined;
        onChangeViewport?: ((value: {
            start: number;
            end: number;
        }) => any) | undefined;
        onChangeScale?: ((value: TimelineScale) => any) | undefined;
        onChangeStacking?: ((value: Record<string, {
            laneCount: number;
        }>) => any) | undefined;
    }> & (typeof globalThis extends {
        __VLS_PROPS_FALLBACK: infer P;
    } ? P : {});
    expose: (exposed: import("vue").ShallowUnwrapRef<{
        setViewport: (start?: number, end?: number) => void;
        onWheel: (e: WheelEvent) => void;
        clearCache: () => void;
    }>) => void;
    attrs: any;
    slots: {
        [x: `items-${string}`]: ((props: {
            group: GTimelineGroup;
            itemsInViewport: GTimelineItem[];
            viewportStart: number;
            viewportEnd: number;
            stacking: import("../helpers/stacking.ts").GroupStackingResult | undefined;
        }) => any) | undefined;
    } & {
        'timestamps-before'?: (props: {
            scale: {
                unit: import("../index.ts").TimelineBaseUnits;
                step: number;
            };
        }) => any;
    } & {
        timestamp?: (props: {
            timestamp: number;
            scale: {
                unit: import("../index.ts").TimelineBaseUnits;
                step: number;
            };
        }) => any;
    } & {
        'timestamps-after'?: (props: {
            scale: {
                unit: import("../index.ts").TimelineBaseUnits;
                step: number;
            };
        }) => any;
    } & {
        marker?: (props: {
            item: GTimelineMarker;
        }) => any;
    } & {
        marker?: (props: {
            item: GTimelineItem;
        }) => any;
    } & {
        'group-label'?: (props: {
            group: GTimelineGroup;
        }) => any;
    } & {
        item?: (props: {
            item: GTimelineItem;
            lane: number;
            stackSize: number;
            isStacked: boolean;
        }) => any;
    } & {
        marker?: (props: {
            item: GTimelineMarker;
        }) => any;
    } & {
        marker?: (props: {
            item: GTimelineMarker;
        }) => any;
    };
    emit: ((evt: "pointermove", value: {
        time: number;
        event: PointerEvent;
        item: GTimelineItem | GTimelineMarker | null;
    }) => void) & ((evt: "pointerdown", value: {
        time: number;
        event: PointerEvent;
        item: GTimelineItem | GTimelineMarker | null;
    }) => void) & ((evt: "pointerup", value: {
        time: number;
        event: PointerEvent;
        item: GTimelineItem | GTimelineMarker | null;
    }) => void) & ((evt: "wheel", event: WheelEvent) => void) & ((evt: "click", value: {
        time: number;
        event: MouseEvent;
        item: GTimelineItem | GTimelineMarker | null;
    }) => void) & ((evt: "contextmenu", value: {
        time: number;
        event: MouseEvent;
        item: GTimelineItem | GTimelineMarker | null;
    }) => void) & ((evt: "touchmove", value: {
        time: number;
        event: TouchEvent;
    }) => void) & ((evt: "touchstart", value: {
        time: number;
        event: TouchEvent;
    }) => void) & ((evt: "touchend", value: {
        event: TouchEvent;
    }) => void) & ((evt: "mousemoveTimeline", value: {
        time: number;
        event: MouseEvent;
    }) => void) & ((evt: "mouseleaveTimeline", value: {
        event: MouseEvent;
    }) => void) & ((evt: "changeViewport", value: {
        start: number;
        end: number;
    }) => void) & ((evt: "changeScale", value: TimelineScale) => void) & ((evt: "changeStacking", value: Record<string, {
        laneCount: number;
    }>) => void);
}>) => import("vue").VNode & {
    __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
};
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_PrettifyLocal<T> = (T extends any ? {
    [K in keyof T]: T[K];
} : {
    [K in keyof T as K]: T[K];
}) & {};
