import { ASObject } from "../../avm2/nat/ASObject"; /** * Copyright 2014 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ export declare class Vector3D extends ASObject { static classInitializer(): void; static Create(x: number, y: number, z: number, w: number): Vector3D; static X_AXIS: Vector3D; static Y_AXIS: Vector3D; static Z_AXIS: Vector3D; constructor(x?: number, y?: number, z?: number, w?: number); x: number; y: number; z: number; w: number; set native_x(x: number); get native_x(): number; set native_y(y: number); get native_y(): number; set native_z(z: number); get native_z(): number; set native_w(w: number); get native_w(): number; get length(): number; get lengthSquared(): number; static angleBetween(a: Vector3D, b: Vector3D): number; static distance(pt1: Vector3D, pt2: Vector3D): number; dotProduct(a: Vector3D): number; crossProduct(a: Vector3D): Vector3D; normalize(): number; scaleBy(s: number): void; incrementBy(a: Vector3D): void; decrementBy(a: Vector3D): void; add(a: Vector3D): Vector3D; subtract(a: Vector3D): Vector3D; negate(): void; equals(toCompare: Vector3D, allFour?: boolean): boolean; nearEquals(toCompare: Vector3D, tolerance: number, allFour?: boolean): boolean; project(): void; copyFrom(sourceVector3D: Vector3D): void; setTo(xa: number, ya: number, za: number): void; clone(): Vector3D; toString(): string; }