import { Vector4Like } from "@amodx/math"; import { Quad, Triangle } from "../../../Geometry"; import { VoxelModelBuilder } from "../VoxelModelBuilder"; import { VoxelFaces } from "../../../../Math"; import { TextureId } from "../../../../Textures"; export interface BaseVoxelGeometryTextureProcedureData { type: string; texture?: TextureId | number; textureRecrod?: Record; [key: string]: any; } export declare abstract class TextureProcedure { abstract getTexture(builder: VoxelModelBuilder, data: Data, closestFace: VoxelFaces, primitive: Quad | Triangle): number; abstract getOverlayTexture(builder: VoxelModelBuilder, data: Data, closestFace: VoxelFaces, primitive: Quad | Triangle, ref: Vector4Like): Vector4Like; abstract transformUVs(builder: VoxelModelBuilder, data: Data, closestFace: VoxelFaces, primitive: Quad | Triangle): void; }