import { Animated, type LayoutRectangle, type MeasureInWindowOnSuccessCallback } from "react-native";
import type { Motion } from "../lib/SpotlightTour.context";
import type { RefObject } from "react";
interface RefNode {
    measure: (callback: MeasureInWindowOnSuccessCallback) => void;
}
export interface ShapeProps {
    motion: Motion;
    padding: number;
    setReference: (node?: RefNode) => void;
    spot: LayoutRectangle;
    useNativeDriver: boolean;
}
interface Point {
    x: number;
    y: number;
}
interface BaseTransitionOptions {
    motion: Motion;
    nextOrigin: Point;
    opacity: RefObject<Animated.Value>;
    origin: RefObject<Animated.ValueXY>;
    useNativeDriver: boolean;
}
interface ValueTransitionOptions extends BaseTransitionOptions {
    nextSize: number;
    size: RefObject<Animated.Value>;
}
interface PointTransitionOptions extends BaseTransitionOptions {
    nextSize: Point;
    size: RefObject<Animated.ValueXY>;
}
type TransitionOptions = PointTransitionOptions | ValueTransitionOptions;
export declare function transitionOf(options: TransitionOptions): Animated.CompositeAnimation;
export {};
