/**
 * @file 身份证检测器
 * @description 提供身份证检测和解析功能
 * @module modules/id-card/id-card-detector
 */
import { EventEmitter } from '../../core/event-emitter';
import { Result } from '../../core/result';
import { IDCardInfo } from './types';
/**
 * 身份证检测器配置选项
 */
export interface IDCardDetectorOptions {
    /** 是否启用 */
    enabled?: boolean;
    /** 最小置信度 */
    minConfidence?: number;
    /** 是否检测身份证类型 */
    detectType?: boolean;
    /** 是否检测边缘 */
    detectEdge?: boolean;
    /** 是否启用边缘检测（用于更精确的边缘检测） */
    enableEdgeDetection?: boolean;
    /** 是否启用OCR识别 */
    enableOCR?: boolean;
    /** 是否裁剪并校正图像 */
    cropAndAlign?: boolean;
    /** 是否启用防伪检测 */
    enableAntiFake?: boolean;
    /** 是否返回原始图像 */
    returnImage?: boolean;
    /** 模型路径 */
    modelPath?: string;
}
/**
 * 图像处理配置选项
 */
export interface ImageProcessOptions {
    /** 是否进行预处理 */
    preprocess?: boolean;
    /** 是否校正图像 */
    correctPerspective?: boolean;
    /** 是否增强图像 */
    enhance?: boolean;
    /** 是否去噪 */
    denoise?: boolean;
    /** 是否二值化 */
    binarize?: boolean;
}
/**
 * 身份证检测器类
 */
export declare class IDCardDetector extends EventEmitter {
    private options;
    private logger;
    private initialized;
    private models;
    /**
     * 构造函数
     * @param options 配置选项
     */
    constructor(options?: IDCardDetectorOptions);
    /**
     * 初始化检测器
     */
    initialize(): Promise<void>;
    /**
     * 加载检测模型
     * @private
     */
    private loadDetectionModel;
    /**
     * 加载OCR模型
     * @private
     */
    private loadOCRModel;
    /**
     * 加载防伪模型
     * @private
     */
    private loadAntiFakeModel;
    /**
     * 处理图像
     * @param image 图像源（可以是ImageData、HTMLImageElement、HTMLCanvasElement等）
     * @param processOptions 图像处理选项
     * @returns 处理结果
     */
    processImage(image: ImageData | HTMLImageElement | HTMLCanvasElement, processOptions?: ImageProcessOptions): Promise<Result<IDCardInfo>>;
    /**
     * 预处理图像
     * @param image 图像源
     * @param options 处理选项
     * @returns 处理后的图像
     * @private
     */
    private preprocessImage;
    /**
     * 检测身份证
     * @param image 图像数据
     * @returns 检测结果
     * @private
     */
    private detectIDCard;
    /**
     * 裁剪并校正图像
     * @param image 图像数据
     * @param edge 边缘信息
     * @returns 校正后的图像
     * @private
     */
    private cropAndAlign;
    /**
     * 识别文字
     * @param image 图像数据
     * @param type 身份证类型
     * @returns 识别结果
     * @private
     */
    private recognizeText;
    /**
     * 检测防伪特征
     * @param image 图像数据
     * @param detectionResult 检测结果
     * @returns 防伪检测结果
     * @private
     */
    private detectAntiFake;
    /**
     * 释放资源
     */
    dispose(): void;
}
