import type { Filestore } from '../filestore';
export declare class RsModel {
    id: number;
    vertexCount: number;
    faceCount: number;
    texturedFaceCount: number;
    verticesX: number[];
    verticesY: number[];
    verticesZ: number[];
    faceIndicesA: Uint16Array;
    faceIndicesB: Uint16Array;
    faceIndicesC: Uint16Array;
    texturedFaceTypes: Uint8Array;
    texturedFaceIndicesA: Uint16Array;
    texturedFaceIndicesB: Uint16Array;
    texturedFaceIndicesC: Uint16Array;
    vertexSkins: number[];
    faceTypes: Uint32Array;
    texturedFaceTypeIndices: Int8Array;
    faceTextures: Int8Array;
    facePriorities: Uint8Array;
    facePriority: number;
    faceAlphas: Uint8Array;
    faceSkins: number[];
    faceColors: Uint32Array;
    faceTextureU: number[][];
    faceTextureV: number[][];
    faceColorsX: Uint32Array;
    faceColorsY: Uint32Array;
    faceColorsZ: Uint32Array;
    vertexNormals: VertexNormal[];
    vertexNormalOffsets: VertexNormal[];
    anInt3193: number;
    constructor();
    computeTextureUVs(): void;
    applyLighting(ambient: number, contrast: number, arg2: number, arg3: number, arg4: number, applyShading: boolean): void;
    applyShading(arg0: number, arg1: number, arg2: number, arg3: number, arg4: number): void;
}
export declare class VertexNormal {
    x: number;
    y: number;
    z: number;
    magnitude: number;
    constructor();
}
export declare class ColorUtils {
    private static readonly UNKNOWN_COLOR_TABLE;
    private static readonly HSB_TO_RGB;
    static initUnknownColorTable(): Uint32Array;
    static initHsbToRgb(inputArg0: number, arg1: number, arg2: number): Uint32Array;
    static hsbToRgb(hsb: number): number;
    static method707(rgb: number, arg1: number): number;
    static method816(faceColor: number, inputArg1: number, faceType: number): number;
    static method709(arg0: number, inputArg1: number): number;
    static shade(rgb: number, shadowRgb: number): number;
}
/**
 * Controls model file storage.
 */
export declare class ModelStore {
    private fileStore;
    private readonly modelFileIndex;
    constructor(fileStore: Filestore);
    getModel(id: number): RsModel | null;
}
