import { ConvertImageWithImageMagickBrowserInput, ConvertLatexToPngBrowserInput, ConvertLatexToPngInputFormat, ConvertLatexToPngOutputFormat, ExtractBySubKey, ImageMagickInputFormat, ImageMagickOutputFormat, Values } from '../../../code/type/index.js';
export type ConvertInput = {
    convert_latex_to_png: {
        input: ConvertLatexToPngInputFormat;
        output: ConvertLatexToPngOutputFormat;
        extend: ConvertLatexToPngBrowserInput;
    };
    image: {
        input: ImageMagickInputFormat;
        output: ImageMagickOutputFormat;
        extend: ConvertImageWithImageMagickBrowserInput;
    };
};
export type ConvertInputList = Values<ConvertInput>;
export type ConvertInputFormat = ConvertInputList['input'];
export type ConvertOutputFormat<I extends ConvertInputFormat> = ExtractBySubKey<ConvertInputList, I>;
export type Convert<I extends ConvertInputFormat> = {
    input: {
        format: I;
    };
    output: {
        format: Exclude<ConvertOutputFormat<I>['output'], I>;
    };
} & ('extend' extends keyof ConvertOutputFormat<I> ? ConvertOutputFormat<I>['extend'] : {});
export declare function convert<I extends ConvertInputFormat>(source: Convert<I>): Promise<ArrayBuffer | import("../../../code/type/index.js").ConvertImageWithImageMagickBrowserOutput | undefined>;
