import { ScadVector, ScadVector2, ScadVector3 } from '../types/ScadVector'; import { Vector, Vector2, Vector3 } from '../types/Vector'; declare type Guard = (x: any) => x is T; export declare function vector2(input: Vector2 | U): ScadVector2 | U; export declare function vector2(input: Vector2 | T, isPlain?: Guard): ScadVector2; export declare function vector3(input: Vector3 | U): ScadVector3 | U; export declare function vector3(input: Vector3 | T, isPlain?: Guard): ScadVector3; export declare function vector(input: Vector2 | T, isPlain: Guard): ScadVector2; export declare function vector(input: Vector3 | T, isPlain: Guard): ScadVector3; export declare function vector(input: Vector | T, isPlain: Guard): ScadVector; export declare function vector(input: Vector2 | U): ScadVector2 | U; export declare function vector(input: Vector3 | U): ScadVector3 | U; export declare function vector(input: Vector | U): ScadVector | U; export declare function vector(input: Vector2): ScadVector2; export declare function vector(input: Vector3): ScadVector3; export declare function vector(input: Vector): ScadVector; export {};