import { Material, MaterialApproval } from './consts';
export declare const isModifiedSubmission: (approval: MaterialApproval) => boolean;
export declare const getImageMaterials: (ctx: any, approvalId: string) => Promise<Material[]>;
export declare const getMaterialVersions: (ctx: any, material: Material) => Promise<{
    current: string;
    previous: string | null;
    currentUrl: string;
    previousUrl: string | null;
}>;
export declare const prepareImageComparisonData: (ctx: any, material: Material, versions: any, options?: {
    threshold?: number;
    min_area?: number;
}) => Promise<{
    request: {
        image_url_a: any;
        image_url_b: any;
        threshold: number;
        min_area: number;
    };
    metadata: {
        material_id: string;
        approval_id: string;
        name: string;
        current_file_id: any;
        previous_file_id: any;
        extension_type: string;
    };
}>;
export declare const callImageComparisonAPI: (ctx: any, imageData: any) => Promise<any>;
export declare const storeComparisonResult: (ctx: any, materialId: string, comparisonResult: any) => Promise<void>;
export declare const processImageComparison: (ctx: any, material: Material) => Promise<any>;
export declare const processBulkImageComparison: (ctx: any, approvalId: string) => Promise<{
    total: number;
    processed: number;
    skipped: number;
    failed: number;
}>;
export declare const triggerImageComparisonAsync: (ctx: any, approvalId: string) => Promise<void>;
export declare const processPendingImageComparisons: (ctx: any, maxRetries?: number) => Promise<void>;
