import type { ImageAdapter } from "./ImageAdapter"; import { Viewport } from "../pixel-accessor"; import type { Color } from "../types"; /** * Abstract image class for ImageAdapter implementation. */ export declare abstract class AbstractImageAdapter implements ImageAdapter { /** * Image width. */ readonly width: number; /** * Image height. */ readonly height: number; /** * Image virtual viewport. */ protected viewport: Viewport; /** * Image background color. */ protected backgroundColor: Color; /** * Image quantum range (per channel). */ protected quantumRange: number; /** * AbstractImageAdapter constructor. * * @param width Image width. * @param height Image height. */ protected constructor(width: number, height: number); /** * @inheritDoc */ abstract getPixelColor(x: number, y: number): Color; /** * @inheritDoc */ abstract setPixelColor(x: number, y: number, color: Color): void; /** * @inheritDoc */ abstract getAverageColor(): Color; /** * Returns resized instance of self. * * @param width New width. * @param height New height. * @returns New resized instance. */ protected abstract resize(width: number, height: number): ImageAdapter; /** * @inheritDoc */ abstract getResource(): ResourceType; /** * Prepares blank image for ImageAdapter.getBlank method. * * @param width Image width. * @param height Image height. */ protected abstract prepareBlank(width: number, height: number): ImageAdapter; /** * @inheritDoc */ abstract commit(): void; /** * @inheritDoc */ getViewport(): Viewport; /** * @inheritDoc */ setViewport(viewport: Viewport): this; /** * @inheritDoc */ getBackgroundColor(): Color; /** * @inheritDoc */ setBackgroundColor(color: Color): this; /** * @inheritDoc */ getQuantumRange(): number; /** * @inheritDoc */ getBlank(viewport: Viewport): ImageAdapter; /** * @inheritDoc */ scale(scale: number): ImageAdapter; /** * Used to copy some props in methods that returns new instance. * * @param instance Instance which props should be set. */ protected duplicateProps(instance: ImageAdapter): ImageAdapter; }