import { TAbstractAsyncEntityRegistry, TAbstractEntityRegistry, TWithUserData, TWithWrapperId, TWithWrapperIdEntity } from '../Abstract/Models'; import { TColorWrapper } from '../Color'; import { TDestroyable, TWithPosition2dProperty, TWithPosition3dProperty, TWithPosition4dProperty, TWithPositionProperty } from '../Mixins'; import { TEulerLike } from '../ThreeLib'; import { TTransformDriveCompatibleEntity, TWithTransformDrive } from '../TransformDrive'; import { BufferGeometry, Euler, Material, Quaternion, QuaternionLike, Vector2, Vector2Like, Vector3, Vector3Like, Vector4, Vector4Like } from 'three'; export declare function isDestroyable(obj: unknown): obj is TDestroyable; export declare const isColorWrapper: (obj: unknown) => obj is TColorWrapper; export declare const isWithUserData: (entity: any) => entity is TWithUserData; export declare const isWithWrapperIdAccessors: (entity: any) => entity is TWithWrapperId; export declare function isWithWrapperId(obj: unknown): obj is TWithWrapperIdEntity; type TMetrics = Vector2 | Vector3 | Vector4 | Vector2Like | Vector3Like | Vector4Like | Quaternion | Euler | QuaternionLike | TEulerLike; export declare const isVector2Like: (obj: TMetrics) => obj is Vector2Like; export declare const isVector3Like: (obj: TMetrics) => obj is Vector3Like; export declare const isVector4Like: (obj: TMetrics) => obj is Vector4Like; export declare const isQuaternionLike: (obj: TMetrics) => obj is QuaternionLike; export declare const isEulerLike: (obj: TMetrics) => obj is Euler; export declare const isEntityWith2dPosition: (obj: TWithPositionProperty) => obj is TWithPosition2dProperty; export declare const isEntityWith3dPosition: (obj: TWithPositionProperty) => obj is TWithPosition3dProperty; export declare const isEntityWith4dPosition: (obj: TWithPositionProperty) => obj is TWithPosition4dProperty; export declare const isAsyncEntityRegistry: (registry: TAbstractEntityRegistry | TAbstractAsyncEntityRegistry) => registry is TAbstractAsyncEntityRegistry; export declare const hasMaterial: (entity: unknown) => entity is { material?: Material | Array | null; }; export declare const hasGeometry: (entity: unknown) => entity is { geometry?: BufferGeometry | null; }; export declare function hasTransformDrive(entity: unknown): entity is TWithTransformDrive; export {};