import type { Material, VoxelBox } from '@playdrop/boxel-core';
export type FaceName = 'east' | 'west' | 'top' | 'bottom' | 'north' | 'south';
export declare const FACE_ORDER: ReadonlyArray<FaceName>;
export interface VoxelFaceGeometry {
    positions: Float32Array;
    normals: Float32Array;
    uvs: Float32Array;
    indices: Uint16Array;
}
export interface VoxelFacePatch {
    face: FaceName;
    width: number;
    height: number;
    textureWidth: number;
    textureHeight: number;
    color: Uint8Array;
    emissive?: Uint8Array;
    hasEmissive: boolean;
    hasTransparency: boolean;
    geometry: VoxelFaceGeometry;
}
interface GenerateVoxelFaceSurfacesOptions {
    primitive: VoxelBox;
    materialsById: Map<string, Material>;
    defaultColor: [number, number, number];
}
export declare function generateVoxelFaceSurfaces(options: GenerateVoxelFaceSurfacesOptions): VoxelFacePatch[];
export {};
