rspace-online/types/three.d.ts

99 lines
2.1 KiB
TypeScript

declare module "three" {
export class Object3D {
add(...objects: Object3D[]): this;
position: Vector3;
rotation: Euler;
scale: Vector3;
visible: boolean;
userData: Record<string, any>;
[key: string]: any;
}
export class Vector3 {
constructor(x?: number, y?: number, z?: number);
x: number;
y: number;
z: number;
set(x: number, y: number, z: number): this;
[key: string]: any;
}
export class Euler {
constructor(x?: number, y?: number, z?: number, order?: string);
x: number;
y: number;
z: number;
[key: string]: any;
}
export class Mesh extends Object3D {
constructor(geometry?: BufferGeometry, material?: Material);
geometry: BufferGeometry;
material: Material;
}
export class Group extends Object3D {}
export class Sprite extends Object3D {
constructor(material?: SpriteMaterial);
material: SpriteMaterial;
}
export class SphereGeometry extends BufferGeometry {
constructor(radius?: number, widthSegments?: number, heightSegments?: number);
}
export class RingGeometry extends BufferGeometry {
constructor(innerRadius?: number, outerRadius?: number, thetaSegments?: number);
}
export class BufferGeometry {
dispose(): void;
[key: string]: any;
}
export class Material {
dispose(): void;
transparent: boolean;
opacity: number;
[key: string]: any;
}
export class MeshBasicMaterial extends Material {
constructor(params?: Record<string, any>);
color: Color;
}
export class MeshLambertMaterial extends Material {
constructor(params?: Record<string, any>);
color: Color;
}
export class SpriteMaterial extends Material {
constructor(params?: Record<string, any>);
map: Texture | null;
}
export class Color {
constructor(color?: string | number);
set(color: string | number): this;
[key: string]: any;
}
export class Texture {
needsUpdate: boolean;
dispose(): void;
[key: string]: any;
}
export class CanvasTexture extends Texture {
constructor(canvas: HTMLCanvasElement);
}
export class TextureLoader {
load(url: string, onLoad?: (tex: Texture) => void): Texture;
}
export default Object3D;
}