import { CoreFactoryFunctions, CorePrimitiveInstanceFactoryCheckFunction } from '../../CoreObjectFactory';
import { CoreObjectType, ObjectContent } from '../../ObjectContent';
import { ThreejsPoint } from './ThreejsPoint';
import { ThreejsVertex } from './ThreejsVertex';
import { ThreejsCoreObject } from './ThreejsCoreObject';
import { ThreejsPrimitiveTriangle } from './ThreejsPrimitiveTriangle';
import { ThreejsPrimitiveLineSegment } from './ThreejsPrimitiveLineSegment';
import { ThreejsPrimitivePoint } from './ThreejsPrimitivePoint';
export declare const pointClassFactoryEnsured: () => typeof ThreejsPoint;
export declare const pointInstanceFactoryEnsured: (object: ObjectContent<CoreObjectType>, index?: number) => ThreejsPoint;
export declare const vertexClassFactoryEnsured: () => typeof ThreejsVertex;
export declare const vertexInstanceFactoryEnsured: (object: ObjectContent<CoreObjectType>, index?: number) => ThreejsVertex;
export declare const primitiveClassFactoryNonAbstract: (object: ObjectContent<CoreObjectType>) => typeof ThreejsPrimitiveTriangle | typeof ThreejsPrimitiveLineSegment | typeof ThreejsPrimitivePoint | undefined;
export declare const primitiveClassFactoryEnsured: () => typeof ThreejsPrimitiveTriangle;
export declare const primitiveInstanceFactory: CorePrimitiveInstanceFactoryCheckFunction;
export declare const primitiveInstanceFactoryEnsured: (object: ObjectContent<CoreObjectType>, index?: number) => ThreejsPrimitiveTriangle;
export declare const primitiveVerticesCountFactory: (object: ObjectContent<CoreObjectType>) => number;
export declare const objectClassFactoryEnsured: () => typeof ThreejsCoreObject;
export declare const objectInstanceFactoryEnsured: (object: ObjectContent<CoreObjectType>, index?: number) => ThreejsCoreObject;
export declare const object3DFactory: CoreFactoryFunctions;
