import { BufferAttribute, BufferGeometry, Triangle, Vector3 } from 'three';
import { ThreejsPointArray3 } from './Common';
interface FaceLike {
    a: number;
    b: number;
    c: number;
}
type Vector3Array2 = [Vector3, Vector3];
type Vector3Array3 = [Vector3, Vector3, Vector3];
export declare class CoreFace {
    private _geometry?;
    private _index;
    private _corePoint;
    private _points;
    constructor();
    setGeometry(geometry: BufferGeometry): this;
    setIndex(index: number, geometry?: BufferGeometry): this;
    index(): number;
    points(points: ThreejsPointArray3): void;
    positions(target: Vector3Array3): void;
    triangle(target: Triangle): void;
    deltas(target: Vector3Array2): void;
    area(): number;
    center(target: Vector3): Vector3;
    attribValueAtPosition(attrib_name: string, position: Vector3): number | import("../../../../types/GlobalTypes").Vector2Like | undefined;
    static interpolatedValue(geometry: BufferGeometry, face: FaceLike, intersectPoint: Vector3, attrib: BufferAttribute): number | Vector3 | null;
}
export {};
