/** * @license * Copyright 2026 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import type { RawPixelBuffer } from "@workglow/util/media"; export declare const IMAGE_TEXT_ANCHOR_POSITIONS: readonly ["top-left", "top-center", "top-right", "middle-left", "middle-center", "middle-right", "bottom-left", "bottom-center", "bottom-right"]; export type ImageTextAnchorPosition = (typeof IMAGE_TEXT_ANCHOR_POSITIONS)[number]; export interface ImageTextRenderColor { readonly r: number; readonly g: number; readonly b: number; readonly a?: number; } export interface ImageTextRenderParams { readonly text: string; readonly font: string; readonly fontSize: number; readonly bold: boolean; readonly italic: boolean; readonly color: ImageTextRenderColor; readonly width: number; readonly height: number; readonly position: ImageTextAnchorPosition; } export interface ImageTextRenderer { renderToRgba(params: ImageTextRenderParams): Promise; } export declare const IMAGE_TEXT_RENDERER: import("@workglow/util").ServiceToken; export declare const IMAGE_TEXT_RENDER_PADDING = 2; export declare const IMAGE_TEXT_RENDER_LINE_HEIGHT_FACTOR = 1.25; export declare function parseImageTextAnchor(position: ImageTextAnchorPosition): { readonly row: "top" | "middle" | "bottom"; readonly col: "left" | "center" | "right"; }; export declare function escapeImageTextXmlText(value: string): string; export declare function escapeImageTextXmlAttr(value: string): string; export declare function imageTextRgbaFillStyle(color: ImageTextRenderColor): string; export declare function registerImageTextRenderer(renderer: ImageTextRenderer): void; export declare function getImageTextRenderer(): ImageTextRenderer; export declare function renderImageTextToRgba(params: ImageTextRenderParams): Promise;