export type FaceName = 'north' | 'south' | 'east' | 'west' | 'up' | 'down';
export type Rotation = 0 | 90 | 180 | 270;
export interface FaceTransform {
    source: FaceName;
    rotate?: Rotation;
    flipHorizontal?: boolean;
    flipVertical?: boolean;
}
export interface FaceUVRect {
    x: number;
    y: number;
    width: number;
    height: number;
}
export interface FaceSource {
    faces: Record<FaceName, FaceUVRect>;
}
export declare const IDENTITY_FACE_MAP: Record<FaceName, FaceTransform>;
export declare const RIGHT_ARM_FACE_MAP: Record<FaceName, FaceTransform>;
export declare function mirrorArmFaceTransform(transform: FaceTransform): FaceTransform;
export declare const LEFT_ARM_FACE_MAP: Record<FaceName, FaceTransform>;
export declare const PART_FACE_TRANSFORMS: Record<string, Record<FaceName, FaceTransform>>;
export declare function getFaceDimensions(size: [number, number, number], face: FaceName): [number, number];
export declare function extractSourceFacePixels(cubeInfo: FaceSource, face: FaceName, textureWidth: number, textureHeight: number, texturePixels: Uint8Array): {
    width: number;
    height: number;
    data: Uint8Array;
};
export declare function transformFacePixels(source: FaceSource, transform: FaceTransform, textureWidth: number, textureHeight: number, texturePixels: Uint8Array): {
    width: number;
    height: number;
    data: Uint8Array;
};
