/** Canonical mesh binary wire facts shared by build-time and runtime owners. */ export declare const MESH_BIN_VERSION: 5; export declare const MESH_BIN_PROJECTION_VERSION: 1; export declare const MESH_BIN_HEADER_BYTES = 80; export declare const MESH_BIN_DIGEST_BYTES = 32; export interface MeshBinHeader { readonly version: 4 | 5; readonly projectionVersion: 1; readonly mask: number; readonly digest: string; readonly stride: number; readonly vertexCount: number; readonly vertexBytes: number; readonly indexCount: number; readonly indexWidth: 0 | 2 | 4; readonly indexBytes: number; readonly jsonBytes: number; readonly morphBytes: number; } export interface MeshBinContractError { readonly code: 'mesh-bin-header-truncated' | 'mesh-bin-version-unsupported' | 'mesh-bin-header-invalid'; readonly subject: 'mesh-bin'; readonly sourceKey: string; readonly expected: string; readonly actual: string; readonly recovery: string; } export type MeshBinHeaderResult = { readonly ok: true; readonly value: MeshBinHeader; } | { readonly ok: false; readonly error: MeshBinContractError; }; export declare function writeMeshBinHeader(header: MeshBinHeader, out: Uint8Array): void; export declare function decodeMeshBinHeader(bytes: Uint8Array, sourceKey?: string): MeshBinHeaderResult; /** Low bits declare channels; corresponding bits shifted by three elide all-positive-zero lanes. */ export declare const MESH_BIN_MORPH_CHANNELS: readonly [{ readonly key: "position"; readonly mask: 1; readonly components: 3; }, { readonly key: "normal"; readonly mask: 2; readonly components: 3; }, { readonly key: "tangent"; readonly mask: 4; readonly components: 4; }]; /** Decode v5 morph lanes into private arrays; both mesh readers use this wire contract. */ export declare function decodeMeshBinMorphs(bytes: Uint8Array, vertexCount: number, masks: unknown): ReadonlyArray> | undefined; //# sourceMappingURL=mesh-bin-contract.d.ts.map