import { type VirtualViewportPixelAccessor, type Viewport, type HasBackgroundColor, type HasAverageColor } from "../pixel-accessor"; import type { Color } from "../types"; /** * Image adapter interface. */ export interface ImageAdapter extends VirtualViewportPixelAccessor, HasBackgroundColor, HasAverageColor { /** * Sets image virtual viewport. * * @param viewport */ setViewport(viewport: Viewport): void; /** * Sets image background color. * * @param color */ setBackgroundColor(color: Color): void; /** * Returns new blank image with given virtual viewport. * * @param viewport */ getBlank(viewport: Viewport): ImageAdapter; /** * Scales image and its virtual viewport. * * @param scale */ scale(scale: number): ImageAdapter; /** * Returns underlying image resource. */ getResource(): ResourceType; /** * Method called after distortion process to synchronize distorted image data with underlying image resource if needed. */ commit(): void; } /** * Checks if passed object implements ImageAdapter interface. * * @param obj */ export declare function isImageAdapter(obj: unknown): obj is ImageAdapter;