import { Behaviour } from "./Component.js";
export declare const SyncedTransformIdentifier = "STRS";
/** Creates a flatbuffer model containing the transform data of a game object. Used by {@link SyncedTransform}
 */
export declare function createTransformModel(guid: string, b: Behaviour, fast?: boolean): Uint8Array;
/**
 * SyncedTransform is a behaviour that syncs the transform of a game object over the network.
 * @category Networking
 * @group Components
 */
export declare class SyncedTransform extends Behaviour {
    overridePhysics: boolean;
    interpolatePosition: boolean;
    interpolateRotation: boolean;
    fastMode: boolean;
    syncDestroy: boolean;
    private _model;
    private _needsUpdate;
    private rb;
    private _wasKinematic;
    private _receivedDataBefore;
    private _targetPosition;
    private _targetRotation;
    private _receivedFastUpdate;
    private _shouldRequestOwnership;
    /** Request ownership of an object - you need to be connected to a room */
    requestOwnership(): void;
    hasOwnership(): boolean | undefined;
    isOwned(): boolean | undefined;
    private joinedRoomCallback;
    private receivedDataCallback;
    /** @internal */
    awake(): void;
    /** @internal */
    onDestroy(): void;
    private tryGetLastState;
    private tempEuler;
    private onReceivedData;
    /** @internal */
    onEnable(): void;
    /** @internal */
    onDisable(): void;
    private receivedUpdate;
    private lastWorldPos;
    private lastWorldRotation;
    /** @internal */
    onBeforeRender(): void;
}
