/**
 * 使用面积法判断点是否在三角形内部或边上
 *
 * 通过比较面积来判断点是否在三角形内部：
 * 1. 计算原始三角形 ABC 的面积
 * 2. 计算点 P 与三角形三个顶点形成的三个小三角形面积之和
 * 3. 如果点在三角形内部，两个面积应该相等（考虑误差）
 *
 * 数学原理：
 * - 如果点在三角形内部，则点与三角形顶点构成的三个小三角形面积之和等于原三角形面积
 * - 如果点在三角形外部，则三个小三角形面积之和大于原三角形面积
 * - 如果点在三角形边上，则三个小三角形面积之和等于原三角形面积
 *
 * @param p - 待判断的点坐标
 *   @property {number} x - x坐标
 *   @property {number} y - y坐标
 * @param a - 三角形顶点A坐标
 *   @property {number} x - x坐标
 *   @property {number} y - y坐标
 * @param b - 三角形顶点B坐标
 *   @property {number} x - x坐标
 *   @property {number} y - y坐标
 * @param c - 三角形顶点C坐标
 *   @property {number} x - x坐标
 *   @property {number} y - y坐标
 * @param tolerate - 容差值
 *   - 默认值：0.1
 *   - 用于处理浮点数计算的精度误差
 *   - 增大此值会使判断更宽松
 *
 * @returns {boolean} 点是否在三角形内部或边上
 *
 * @example
 * ```typescript
 * // 判断点是否在等边三角形内
 * const a = { x: 0, y: 0 };
 * const b = { x: 1, y: 0 };
 * const c = { x: 0.5, y: 0.866 };
 *
 * // 检查中心点
 * const center = { x: 0.5, y: 0.289 };
 * console.log(isTriangleContainsPoint(center, a, b, c)); // true
 *
 * // 检查外部点
 * const outside = { x: 2, y: 2 };
 * console.log(isTriangleContainsPoint(outside, a, b, c)); // false
 *
 * // 检查边上的点
 * const onEdge = { x: 0.5, y: 0 };
 * console.log(isTriangleContainsPoint(onEdge, a, b, c)); // true
 * ```
 *
 * @remarks
 * - 使用行列式计算三角形面积
 * - 考虑了浮点数精度问题
 * - 边界点也被视为在三角形内
 * - 三角形顶点的顺序不影响结果
 */
export declare const isTriangleContainsPoint: (p: Coord, a: Coord, b: Coord, c: Coord, tolerate?: number) => boolean;
