import { Vector3 } from 'three';
import { CoreVertex } from '../../entities/vertex/CoreVertex';
import { CoreObjectType, ObjectContent } from '../../ObjectContent';
import { VertexAttributesDict, UserDataWithVertexAttributes } from '../../entities/vertex/Common';
import { TetObject } from './TetObject';
import { TetGeometry } from './TetGeometry';
export interface TetGeometryWithVertexAttributes extends TetGeometry {
    userData: UserDataWithVertexAttributes;
}
export declare class TetVertex extends CoreVertex<CoreObjectType.TET> {
    protected _geometry?: TetGeometry;
    constructor(object: TetObject, index: number);
    setIndex(index: number, object?: TetObject): this;
    private _updateGeometry;
    geometry(): TetGeometry | undefined;
    static attributes<T extends CoreObjectType>(object: ObjectContent<T>): VertexAttributesDict | undefined;
    static entitiesCount<T extends CoreObjectType>(object: ObjectContent<T>): number;
    position(target: Vector3): Vector3;
    normal(target: Vector3): Vector3;
}
