/**
 * ObjectUpdate Packet
 *
 * This file is used to help our packet serialization and deserialization
 * process, and to create new packets on the fly.
 *
 * ⚠️ Do not edit this file manually, it is generated by the `codegen` script!
 *
 * @see {@link http://wiki.secondlife.com/wiki/Message_Layout}
 */
import { Color4, F32, U16, U64, UUID, Variable1, Variable2, Vector3 } from "../types";
import { type PacketMetadata } from "./packet";
export interface ObjectUpdateData {
    regionData?: {
        regionHandle: number | bigint;
        timeDilation: number;
    };
    objectData?: {
        id: number;
        state: number;
        fullId: string;
        crc: number;
        pCode: number;
        material: number;
        clickAction: number;
        scale: Vector3;
        objectData: string | Buffer;
        parentId: number;
        updateFlags: number;
        pathCurve: number;
        profileCurve: number;
        pathBegin: number;
        pathEnd: number;
        pathScaleX: number;
        pathScaleY: number;
        pathShearX: number;
        pathShearY: number;
        pathTwist: number;
        pathTwistBegin: number;
        pathRadiusOffset: number;
        pathTaperX: number;
        pathTaperY: number;
        pathRevolutions: number;
        pathSkew: number;
        profileBegin: number;
        profileEnd: number;
        profileHollow: number;
        textureEntry: string | Buffer;
        textureAnim: string | Buffer;
        nameValue: string | Buffer;
        data: string | Buffer;
        text: string | Buffer;
        textColor: Color4;
        mediaUrl: string | Buffer;
        pSBlock: string | Buffer;
        extraParams: string | Buffer;
        sound: string;
        ownerId: string;
        gain: number;
        flags: number;
        radius: number;
        jointType: number;
        jointPivot: Vector3;
        jointAxisOrAnchor: Vector3;
    }[];
}
export declare const objectUpdateMetadata: {
    id: number;
    name: string;
    trusted: true;
    compression: true;
    blocks: ({
        name: string;
        parameters: ([string, typeof U16] | [string, typeof U64])[];
        multiple?: undefined;
    } | {
        name: string;
        parameters: ([string, typeof UUID] | [string, typeof Vector3] | [string, typeof Variable1] | [string, typeof F32] | [string, typeof Variable2] | [string, typeof Color4])[];
        multiple: true;
    })[];
};
export declare const objectUpdate: (data: ObjectUpdateData, reliable?: boolean) => {
    data: ObjectUpdateData;
    reliable: boolean | undefined;
    metadata: PacketMetadata;
};
export declare const createObjectUpdateDelegate: (config: Omit<import("..").DelegateConfig<ObjectUpdateData>, "metadata">) => void;
