import { Vec2Array, Vec3Array } from "@amodx/math"; import { QuadVector2VertexData, QuadVector3VertexData } from "./QuadVertexData"; import { QuadUVData, QuadVertexVec3Data, QuadVerticies } from "../Geometry.types"; export declare class Quad { static FullUVs: Readonly; static RotateUvs(uvs: QuadUVData | Readonly, rotation: number): QuadUVData; static Create(positions?: [Vec3Array, Vec3Array] | [Vec3Array, Vec3Array, Vec3Array, Vec3Array], uvs?: [Vec2Array, Vec2Array, Vec2Array, Vec2Array], doubleSided?: boolean, orientation?: 0 | 1): Quad; static RotateVertices90Degrees(vertices: [QuadVerticies, QuadVerticies, QuadVerticies, QuadVerticies], times?: number): [QuadVerticies, QuadVerticies, QuadVerticies, QuadVerticies]; static GetQuadNormalRightHanded(p1: Vec3Array, p2: Vec3Array, p3: Vec3Array, p4: Vec3Array): [n1: Vec3Array, n2: Vec3Array, n3: Vec3Array, n4: Vec3Array]; static GetQuadNormalLeftHanded(p1: Vec3Array, p2: Vec3Array, p3: Vec3Array, p4: Vec3Array): [n1: Vec3Array, n2: Vec3Array, n3: Vec3Array, n4: Vec3Array]; static CalculateQuadPoints(start: Vec3Array, end: Vec3Array): { points: QuadVertexVec3Data; normal: Vec3Array; }; static OrderQuadVertices(vertices: [Vec3Array, Vec3Array, Vec3Array, Vec3Array], direction: "north" | "south" | "east" | "west" | "up" | "down"): [Vec3Array, Vec3Array, Vec3Array, Vec3Array]; positions: QuadVector3VertexData; normals: QuadVector3VertexData; uvs: QuadVector2VertexData; flip: boolean; doubleSided: boolean; orientation: 0 | 1; constructor(data: { positions?: [Vec3Array, Vec3Array] | [Vec3Array, Vec3Array, Vec3Array, Vec3Array]; uvs?: [Vec2Array, Vec2Array, Vec2Array, Vec2Array]; doubleSided?: boolean; orientation?: 0 | 1; }); setUVs([v1, v2, v3, v4]: [ v1: Vec2Array, v2: Vec2Array, v3: Vec2Array, v4: Vec2Array ]): this; scale(x: number, y: number, z: number): this; transform(x: number, y: number, z: number): this; setPositions(positions: [Vec3Array, Vec3Array] | [Vec3Array, Vec3Array, Vec3Array, Vec3Array]): this; clone(): Quad; }