/**
 * RegionHandshake 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, F32, U64, UUID, Variable1 } from "../types";
import { type PacketMetadata } from "./packet";
export interface RegionHandshakeData {
    regionInfo?: {
        regionFlags: number;
        simAccess: number;
        simName: string | Buffer;
        simOwner: string;
        isEstateManager: boolean;
        waterHeight: number;
        billableFactor: number;
        cacheId: string;
        terrainBase0: string;
        terrainBase1: string;
        terrainBase2: string;
        terrainBase3: string;
        terrainDetail0: string;
        terrainDetail1: string;
        terrainDetail2: string;
        terrainDetail3: string;
        terrainStartHeight00: number;
        terrainStartHeight01: number;
        terrainStartHeight10: number;
        terrainStartHeight11: number;
        terrainHeightRange00: number;
        terrainHeightRange01: number;
        terrainHeightRange10: number;
        terrainHeightRange11: number;
    };
    regionInfo2?: {
        regionId: string;
    };
    regionInfo3?: {
        cPUClassId: number;
        cPURatio: number;
        coloName: string | Buffer;
        productSku: string | Buffer;
        productName: string | Buffer;
    };
    regionInfo4?: {
        regionFlagsExtended: number | bigint;
        regionProtocols: number | bigint;
    }[];
}
export declare const regionHandshakeMetadata: {
    id: number;
    name: string;
    frequency: 2;
    trusted: true;
    compression: true;
    blocks: ({
        name: string;
        parameters: ([string, typeof UUID] | [string, typeof Variable1] | [string, typeof Bool] | [string, typeof F32])[];
        multiple?: undefined;
    } | {
        name: string;
        parameters: [string, typeof U64][];
        multiple: true;
    })[];
};
export declare const regionHandshake: (data: RegionHandshakeData, reliable?: boolean) => {
    data: RegionHandshakeData;
    reliable: boolean | undefined;
    metadata: PacketMetadata;
};
export declare const createRegionHandshakeDelegate: (config: Omit<import("..").DelegateConfig<RegionHandshakeData>, "metadata">) => void;
