export interface FrameVisualMetricsOptions {
    readonly darkLumaThreshold?: number;
    readonly salientLumaThreshold?: number;
    readonly bucketShift?: 4 | 5 | 6;
    readonly edgeLumaThreshold?: number;
}
export interface FrameVisualBounds {
    readonly minX: number;
    readonly minY: number;
    readonly maxX: number;
    readonly maxY: number;
    readonly width: number;
    readonly height: number;
}
export interface FrameVisualMetrics {
    readonly width: number;
    readonly height: number;
    readonly pixelCount: number;
    readonly nonDarkPixels: number;
    readonly nonDarkRatio: number;
    readonly salientPixels: number;
    readonly salientRatio: number;
    readonly occupiedAreaRatio: number;
    readonly occupiedQuadrants: number;
    readonly meanLuma: number;
    readonly averageLuma: number;
    readonly minLuma: number;
    readonly maxLuma: number;
    readonly darkPixelRatio: number;
    readonly colorBuckets: number;
    readonly dominantBucketRatio: number;
    readonly edgePixels: number;
    readonly edgePixelRatio: number;
    readonly flatPixels: number;
    readonly flatPixelRatio: number;
    readonly localContrastPixels: number;
    readonly localContrastRatio: number;
    readonly bounds?: FrameVisualBounds;
}
export interface FrameVisualQualityThresholds {
    readonly minNonDarkRatio?: number;
    readonly minSalientRatio?: number;
    readonly minOccupiedAreaRatio?: number;
    readonly minOccupiedQuadrants?: number;
    readonly minMeanLuma?: number;
    readonly minMaxLuma?: number;
    readonly minColorBuckets?: number;
    readonly maxDarkPixelRatio?: number;
    readonly maxDominantBucketRatio?: number;
    readonly minEdgePixelRatio?: number;
    readonly maxFlatPixelRatio?: number;
    readonly minLocalContrastRatio?: number;
}
export interface FrameVisualQualityResult {
    readonly ok: boolean;
    readonly failures: readonly string[];
}
export declare function analyzeRgbaFrameVisualMetrics(pixels: Uint8Array | Uint8ClampedArray, width: number, height: number, options?: FrameVisualMetricsOptions): FrameVisualMetrics;
export declare function evaluateFrameVisualQuality(metrics: FrameVisualMetrics, thresholds: FrameVisualQualityThresholds): FrameVisualQualityResult;
//# sourceMappingURL=FrameVisualMetrics.d.ts.map