import { EventDispatcher } from "three";
import { PointerBehaviour } from "../input/PointerBehaviour.js";
import { SettingsEventMap } from "./SettingsEventMap.js";
/**
 * Pointer settings.
 *
 * @group Settings
 */
export declare class PointerSettings extends EventDispatcher<SettingsEventMap> {
    /**
     * Triggers when the settings are changed.
     *
     * @event
     */
    static readonly EVENT_CHANGE = "change";
    /**
     * @see {@link behaviour}
     */
    private _behaviour;
    /**
     * @see {@link sensitivity}
     */
    private _sensitivity;
    /**
     * Constructs new pointer settings.
     */
    constructor();
    /**
     * The pointer behaviour.
     */
    get behaviour(): PointerBehaviour;
    set behaviour(value: PointerBehaviour);
    /**
     * Sets the sensitivity.
     *
     * This sensitivity acts as a baseline scale for pointer movement deltas. Default is `1e-3`.
     */
    get sensitivity(): number;
    set sensitivity(value: number);
    /**
     * Copies the given pointer settings.
     *
     * @param settings - Pointer settings.
     * @return This instance.
     */
    copy(settings: PointerSettings): PointerSettings;
    /**
     * Clones this pointer settings instance.
     *
     * @return The cloned pointer settings.
     */
    clone(): PointerSettings;
    /**
     * Copies the given JSON data.
     *
     * @param json - The JSON data.
     * @return This instance.
     */
    fromJSON(json: PointerSettings): PointerSettings;
    toJSON(): Record<string, unknown>;
}
