import * as THREE from 'three';
/**
 * SweepModelScreen 插件参数接口
 */
export interface SweepModelScreenParams {
    /** 动画时长 ms, [100, 10000], 默认 800 */
    animationDuration?: number;
    /** 扫光颜色 RGB [0,1], 默认 [1,1,1] */
    sweepColor?: [number, number, number];
    /** 边缘衰减范围 [0.01, 1.0], 默认 0.15 */
    sweepRange?: number;
    /** 子视锥宽度占比 [0.01, 1.0], 默认 1/6 */
    frustumWidth?: number;
    /** 子视锥高度占比 [0.01, 1.0], 默认 1/6 */
    frustumHeight?: number;
}
/**
 * 将值钳制到 [-1, 1] 范围
 */
export declare function clampNDC(value: number): number;
/**
 * 填充默认值并钳制参数范围
 */
export declare function clampParams(params: Partial<SweepModelScreenParams>): Required<SweepModelScreenParams>;
/**
 * 计算子视锥 extent 并 clamp 角点到 NDC 范围。
 * 返回 clamp 后的中心和半宽半高 extent。
 *
 * frustumWidth/frustumHeight 表示占屏幕的比例（如 1/6）。
 * NDC 空间总宽度为 2（-1 到 1），所以 NDC 半宽 = frustumWidth（即占比 * 总宽/2 = frustumWidth * 2 / 2）。
 */
export declare function computeFrustumExtent(center: THREE.Vector2, frustumWidth: number, frustumHeight: number): {
    center: THREE.Vector2;
    extent: THREE.Vector2;
};
/**
 * 计算动画进度 [0, 1]
 */
export declare function computeProgress(elapsedMs: number, duration: number): number;
