/// <reference types="node" />
import Enums from "./enums";
declare namespace Types {
    interface W2XConvError {
        code: Enums.W2XConvErrorCode;
    }
    interface W2XConvFlopsCounter {
        flop: number;
        filter_sec: number;
        process_sec: number;
    }
    interface W2XConvProcessor {
        type: Enums.W2XConvProcessorType;
        sub_type: Enums.W2XConvProcessorSubType;
        dev_id: number;
        num_core: number;
        dev_name: string;
    }
    interface W2XConv {
        last_error: W2XConvError;
        flops: W2XConvFlopsCounter;
        target_processor: W2XConvProcessor;
        log_level: number;
        tta_mode: boolean;
    }
    interface ImwriteParams {
        webp_quality?: number;
        jpeg_quality?: number;
        png_compression?: number;
    }
    type DenoiseLevel = -1 | 0 | 1 | 2 | 3;
    interface AsyncOptions {
        imwrite_params: ImwriteParams;
        denoise_level: DenoiseLevel;
        scale: number;
    }
    type ConvertCallback = (dst: Buffer) => any;
}
export default Types;
