import { Matrix4, Box3, Sphere, Vector3 } from 'three';
import { QuadObject } from './QuadObject';
import { BaseCoreObject } from '../../entities/object/BaseCoreObject';
import { CoreObjectType, MergeCompactOptions, ObjectContent } from '../../ObjectContent';
import { TransformTargetType } from '../../../Transform';
import { ObjectTransformMode, ObjectTransformSpace } from '../../../TransformSpace';
import { ObjectData } from '../../Constant';
import { TraversedRelatedEntityData } from '../../entities/utils/TraversedRelatedEntities';
import { CoreEntityWithObject } from '../../CoreEntity';
export declare class QuadCoreObject extends BaseCoreObject<CoreObjectType.QUAD> {
    protected _object: QuadObject;
    constructor(_object: QuadObject, index: number);
    static position(object: QuadObject, target: Vector3): void;
    boundingBox(target: Box3): void;
    boundingSphere(target: Sphere): void;
    static objectData<T extends CoreObjectType>(object: ObjectContent<T>): ObjectData;
    static applyMatrix(object: QuadObject, matrix: Matrix4, transformTargetType: TransformTargetType, transformSpace: ObjectTransformSpace, transformMode: ObjectTransformMode): void;
    static mergeCompact(options: MergeCompactOptions): void;
    static relatedPrimitiveIds(object: ObjectContent<CoreObjectType>, index: number, target: number[], traversedRelatedEntityData?: TraversedRelatedEntityData): void;
    static relatedPrimitiveClass<T extends CoreObjectType>(object: ObjectContent<T>): typeof CoreEntityWithObject<T>;
}
