import { getCanvas2D } from './utils/canvas';
import { BitmapImage } from './core/bitmap-image';
import type { EmscriptenGL, PAG } from './types';
export declare const createImage: (source: string) => Promise<HTMLImageElement>;
export declare const createImageFromBytes: (bytes: ArrayBuffer) => Promise<HTMLImageElement>;
export declare const readImagePixels: (module: PAG, image: CanvasImageSource, width: number, height: number) => {
    byteOffset: number;
    length: number;
    free: () => void;
};
export declare const hasWebpSupport: () => boolean;
export declare const getSourceSize: (source: TexImageSource | OffscreenCanvas) => {
    width: number;
    height: number;
};
export declare const uploadToTexture: (GL: EmscriptenGL, source: TexImageSource | OffscreenCanvas | BitmapImage, textureID: number, alphaOnly: boolean) => void;
export declare const isAndroidMiniprogram: () => boolean;
export declare const releaseNativeImage: (source: TexImageSource | OffscreenCanvas) => void;
export declare const getBytesFromPath: (module: PAG, path: string) => Promise<{
    byteOffset: number;
    length: number;
    free: () => void;
}>;
export { getCanvas2D as createCanvas2D };
