import { type Mesh, type MeshStandardMaterial } from "three";
import { type GLTF } from "three-stdlib";

export type GLTFResult = GLTF & {
  nodes: {
    LDeskMesh: Mesh;
    Frame: Mesh;
    OfficeChairChasis: Mesh;
    Seat: Mesh;
    Mouse: Mesh;
    Monitor: Mesh;
    CDSlot: Mesh;
    PCMesh: Mesh;
    CDSlotLining: Mesh;
    Keyboard: Mesh;
    MousepadMesh: Mesh;
    DeskLampChasis: Mesh;
    Arm: Mesh;
    Light: Mesh;
    SecondaryMonitorMesh: Mesh;
    Printer3DMesh: Mesh;
    Paper1: Mesh;
    Paper2: Mesh;
    Paper3: Mesh;
    PenAccent: Mesh;
    PenBody: Mesh;
    PenTip: Mesh;
    CellphoneMesh: Mesh;
    Top: Mesh;
    OfficePhoneBody: Mesh;
    Screen: Mesh;
    Buttons: Mesh;
    Handle: Mesh;
    HeadphonesBody: Mesh;
    HeadphonesAccent: Mesh;
    Cover: Mesh;
    MugMesh: Mesh;
    DeskMatMesh: Mesh;
    SolderingIronBody: Mesh;
    SolderingIronAccent: Mesh;
    Sponge: Mesh;
    IronGrip: Mesh;
    Switch: Mesh;
    Holster: Mesh;
    SwitchLabel: Mesh;
    ScrewdriverMesh: Mesh;
    WalletMesh: Mesh;
    PlantMesh: Mesh;
    Controller1Mesh: Mesh;
    Controller2Mesh: Mesh;
    CalculatorMesh: Mesh;
    MainRug: Mesh;
    Border: Mesh;
    WindowGlass: Mesh;
    WindowFrame: Mesh;
    Wall: Mesh;
    Floor: Mesh;
  };
  materials: {
    LDeskMaterial: MeshStandardMaterial;
    FrameMaterial: MeshStandardMaterial;
    OfficeChairChasisMaterial: MeshStandardMaterial;
    SeatMaterial: MeshStandardMaterial;
    PlasticMaterial: MeshStandardMaterial;
    CDSlotLiningMaterial: MeshStandardMaterial;
    MousepadMaterial: MeshStandardMaterial;
    DeskLampChasisMaterial: MeshStandardMaterial;
    ArmMaterial: MeshStandardMaterial;
    LightMaterial: MeshStandardMaterial;
    SecondaryMonitorMaterial: MeshStandardMaterial;
    Printer3DMaterial: MeshStandardMaterial;
    PaperMaterial: MeshStandardMaterial;
    PenAccentMaterial: MeshStandardMaterial;
    PenBodyMaterial: MeshStandardMaterial;
    TipMaterial: MeshStandardMaterial;
    CellphoneMaterial: MeshStandardMaterial;
    TopMaterial: MeshStandardMaterial;
    OfficePhoneBodyMaterial: MeshStandardMaterial;
    ScreenMaterial: MeshStandardMaterial;
    HandleAndButtonsMaterial: MeshStandardMaterial;
    HeadphonesBodyMaterial: MeshStandardMaterial;
    HeadphonesAccentMaterial: MeshStandardMaterial;
    CoverMaterial: MeshStandardMaterial;
    MugMaterial: MeshStandardMaterial;
    DeskMatMaterial: MeshStandardMaterial;
    SolderingIronBodyMaterial: MeshStandardMaterial;
    SolderingIronAccentMaterial: MeshStandardMaterial;
    SpongeMaterial: MeshStandardMaterial;
    IronGripMaterial: MeshStandardMaterial;
    SwitchMaterial: MeshStandardMaterial;
    HolsterMaterial: MeshStandardMaterial;
    SwitchLabelMaterial: MeshStandardMaterial;
    ScrewdriverMaterial: MeshStandardMaterial;
    WalletMaterial: MeshStandardMaterial;
    PlantMaterial: MeshStandardMaterial;
    Controller1Material: MeshStandardMaterial;
    Controller2Material: MeshStandardMaterial;
    CalculatorMaterial: MeshStandardMaterial;
    RugDarkMaterial: MeshStandardMaterial;
    RugLightMaterial: MeshStandardMaterial;
    WindowGlassMaterial: MeshStandardMaterial;
    WindowFrameMaterial: MeshStandardMaterial;
    WallMaterial: MeshStandardMaterial;
    FloorMaterial: MeshStandardMaterial;
  };
};
