import type { XRControllerEvents } from '../types.js';
import type { Snippet } from 'svelte';
type Props = {
    children?: Snippet;
    grip?: Snippet;
    targetRay?: Snippet;
    pointerRay?: Snippet;
    pointerCursor?: Snippet;
    teleportRay?: Snippet;
    teleportCursor?: Snippet;
} & XRControllerEvents & ({
    /** Whether the controller should be matched with the left hand. */
    left: true;
    right?: undefined;
    hand?: undefined;
} | {
    /** Whether the controller should be matched with the right hand. */
    right: true;
    left?: undefined;
    hand?: undefined;
} | {
    /** Whether the controller should be matched with the left or right hand. */
    hand: 'left' | 'right';
    left?: undefined;
    right?: undefined;
});
/** `<Controller />` represents a THREE.XRTargetRaySpace, a THREE.XRGripSpace, and a controller model. */
declare const Controller: import("svelte").Component<Props, {}, "">;
type Controller = ReturnType<typeof Controller>;
export default Controller;
