import { AIConfig } from './config';
export interface FaceDetectionResult {
    boundingBox: {
        left: number;
        top: number;
        width: number;
        height: number;
    };
    confidence: number;
    emotions: {
        joy: number;
        sorrow: number;
        anger: number;
        surprise: number;
    };
    landmarks?: Array<{
        type: string;
        position: {
            x: number;
            y: number;
            z: number;
        };
    }>;
}
export interface ObjectDetectionResult {
    name: string;
    confidence: number;
    boundingBox: {
        left: number;
        top: number;
        width: number;
        height: number;
    };
}
export interface TextExtractionResult {
    text: string;
    confidence: number;
    language?: string;
    blocks: Array<{
        text: string;
        confidence: number;
        boundingBox: any;
    }>;
}
export interface ImageAnalysisResult {
    labels: Array<{
        description: string;
        score: number;
    }>;
    safeSearch: {
        adult: string;
        violence: string;
        medical: string;
    };
    colors: Array<{
        color: {
            red: number;
            green: number;
            blue: number;
        };
        score: number;
        pixelFraction: number;
    }>;
    cropHints?: Array<{
        boundingBox: any;
        confidence: number;
        importanceFraction: number;
    }>;
}
export declare class VisionService {
    private config;
    private client;
    private cache;
    private errorHandler;
    private removeBgApiKey;
    constructor(config: AIConfig);
    private initializeClient;
    detectFaces(imageBuffer: Buffer): Promise<FaceDetectionResult[]>;
    detectObjects(imageBuffer: Buffer): Promise<ObjectDetectionResult[]>;
    extractText(imageBuffer: Buffer): Promise<TextExtractionResult>;
    analyzeImage(imageBuffer: Buffer): Promise<ImageAnalysisResult>;
    removeBackground(imageBuffer: Buffer): Promise<Buffer>;
    generateImageDescription(imageBuffer: Buffer): Promise<string>;
    private convertBoundingPoly;
    private likelihoodToScore;
    private calculateAverageConfidence;
    private extractBlockText;
    private hashBuffer;
    private fallbackFaceDetection;
    private fallbackObjectDetection;
    private fallbackTextExtraction;
    private fallbackImageAnalysis;
}
//# sourceMappingURL=vision-service.d.ts.map