export type Prefix = 'inview';
export type EventBase = 'change' | 'leave' | 'enter' | 'init';
export type Event = `${Prefix}_${EventBase}`;
export type Options = {
    root?: HTMLElement | null;
    rootMargin?: string;
    threshold?: number | number[];
    unobserveOnEnter?: boolean;
};
export type Position = {
    x?: number;
    y?: number;
};
type Direction = 'up' | 'down' | 'left' | 'right';
export type ScrollDirection = {
    vertical?: Direction;
    horizontal?: Direction;
};
export type ObserverEventDetails = {
    inView: boolean;
    entry: IntersectionObserverEntry;
    scrollDirection: ScrollDirection;
    node: HTMLElement;
    observer: IntersectionObserver;
};
export type LifecycleEventDetails = {
    node: HTMLElement;
    observer: IntersectionObserver;
};
export {};
