/**
 * UpdateAttachment 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 { Bool, S8, S32, U8, U32, UUID, Variable1 } from "../types";
import { type PacketMetadata } from "./packet";
export interface UpdateAttachmentData {
    agentData?: {
        agentId?: string;
        sessionId?: string;
    };
    attachmentBlock?: {
        attachmentPoint: number;
    };
    operationData?: {
        addItem: boolean;
        useExistingAsset: boolean;
    };
    inventoryData?: {
        itemId: string;
        folderId: string;
        creatorId: string;
        ownerId: string;
        groupId: string;
        baseMask: number;
        ownerMask: number;
        groupMask: number;
        everyoneMask: number;
        nextOwnerMask: number;
        groupOwned: boolean;
        assetId: string;
        type: number;
        invType: number;
        flags: number;
        saleType: number;
        salePrice: number;
        name: string | Buffer;
        description: string | Buffer;
        creationDate: number;
        crc: number;
    };
}
export declare const updateAttachmentMetadata: {
    id: number;
    name: string;
    frequency: 2;
    trusted: true;
    compression: true;
    blocks: {
        name: string;
        parameters: ([string, typeof U32] | [string, typeof U8] | [string, typeof UUID] | [string, typeof S8] | [string, typeof Variable1] | [string, typeof Bool] | [string, typeof S32])[];
    }[];
};
export declare const updateAttachment: (data: UpdateAttachmentData, reliable?: boolean) => {
    data: UpdateAttachmentData;
    reliable: boolean | undefined;
    metadata: PacketMetadata;
};
export declare const createUpdateAttachmentDelegate: (config: Omit<import("..").DelegateConfig<UpdateAttachmentData>, "metadata">) => void;
