import { Object3D } from "three";
import { type UsdzBehaviour } from "../../engine-components/export/usdz/extensions/behavior/Behaviour.js";
import { USDObject } from "../../engine-components/export/usdz/ThreeUSDZExporter.js";
import { Behaviour } from "../Component.js";
/**
 * The [LookAt](https://engine.needle.tools/docs/api/LookAt) behaviour makes the object look at a target object or the camera.
 * It can also invert the forward direction and keep the up direction.
 *
 * @summary Makes the object look at a target object or the camera
 * @category Everywhere Actions
 * @category Interactivity
 * @group Components
 */
export declare class LookAt extends Behaviour implements UsdzBehaviour {
    /**
     * The target object to look at. If not set, the main camera will be used.
     */
    target?: Object3D;
    /**
     * Inverts the forward direction.
     */
    invertForward: boolean;
    /**
     * Keep the up direction.
     */
    keepUpDirection: boolean;
    /**
     * Copy the target rotation.
     */
    copyTargetRotation: boolean;
    private static flipYQuat;
    /** @internal */
    onBeforeRender(): void;
    /** @internal */
    createBehaviours(ext: any, model: USDObject, _context: any): void;
}
